@spotlightjs/spotlight 4.5.0 → 4.6.0

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 (650) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +9 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/cache.js +5 -0
  4. package/dist/_virtual/cache.js.map +1 -0
  5. package/dist/_virtual/index.js +5 -0
  6. package/dist/_virtual/index.js.map +1 -0
  7. package/dist/_virtual/re.js +5 -0
  8. package/dist/_virtual/re.js.map +1 -0
  9. package/dist/_virtual/uri.all.js +5 -0
  10. package/dist/_virtual/uri.all.js.map +1 -0
  11. package/dist/bootstrap.d.ts +0 -0
  12. package/dist/electron-index.d.ts +1 -0
  13. package/dist/index.d.ts +13 -0
  14. package/dist/instrument.js +74 -0
  15. package/dist/instrument.js.map +1 -0
  16. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +233 -0
  17. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -0
  18. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +56 -0
  19. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js.map +1 -0
  20. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +188 -0
  21. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
  22. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +596 -0
  23. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -0
  24. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +68 -0
  25. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -0
  26. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +383 -0
  27. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
  28. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +33 -0
  29. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -0
  30. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1037 -0
  31. package/dist/node_modules/.pnpm/@modelcontextprotocol_sdk@1.16.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
  32. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/ajv.js +357 -0
  33. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/ajv.js.map +1 -0
  34. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/cache.js +21 -0
  35. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/cache.js.map +1 -0
  36. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/async.js +65 -0
  37. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/async.js.map +1 -0
  38. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/error_classes.js +28 -0
  39. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/error_classes.js.map +1 -0
  40. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/formats.js +110 -0
  41. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/formats.js.map +1 -0
  42. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/index.js +279 -0
  43. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/index.js.map +1 -0
  44. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/resolve.js +219 -0
  45. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/resolve.js.map +1 -0
  46. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/rules.js +92 -0
  47. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/rules.js.map +1 -0
  48. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/schema_obj.js +10 -0
  49. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/schema_obj.js.map +1 -0
  50. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/ucs2length.js +16 -0
  51. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/ucs2length.js.map +1 -0
  52. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/util.js +183 -0
  53. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/compile/util.js.map +1 -0
  54. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/data.js +48 -0
  55. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/data.js.map +1 -0
  56. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/definition_schema.js +39 -0
  57. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/definition_schema.js.map +1 -0
  58. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limit.js +151 -0
  59. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limit.js.map +1 -0
  60. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitItems.js +81 -0
  61. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitItems.js.map +1 -0
  62. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitLength.js +86 -0
  63. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitLength.js.map +1 -0
  64. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitProperties.js +81 -0
  65. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/_limitProperties.js.map +1 -0
  66. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/allOf.js +43 -0
  67. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/allOf.js.map +1 -0
  68. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/anyOf.js +74 -0
  69. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/anyOf.js.map +1 -0
  70. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/comment.js +17 -0
  71. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/comment.js.map +1 -0
  72. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/const.js +54 -0
  73. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/const.js.map +1 -0
  74. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/contains.js +79 -0
  75. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/contains.js.map +1 -0
  76. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/custom.js +221 -0
  77. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/custom.js.map +1 -0
  78. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/dependencies.js +162 -0
  79. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/dependencies.js.map +1 -0
  80. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/enum.js +63 -0
  81. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/enum.js.map +1 -0
  82. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/format.js +148 -0
  83. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/format.js.map +1 -0
  84. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/if.js +101 -0
  85. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/if.js.map +1 -0
  86. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/index.js +58 -0
  87. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/index.js.map +1 -0
  88. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/items.js +138 -0
  89. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/items.js.map +1 -0
  90. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/multipleOf.js +81 -0
  91. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/multipleOf.js.map +1 -0
  92. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/not.js +86 -0
  93. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/not.js.map +1 -0
  94. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/oneOf.js +72 -0
  95. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/oneOf.js.map +1 -0
  96. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/pattern.js +76 -0
  97. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/pattern.js.map +1 -0
  98. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/properties.js +313 -0
  99. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/properties.js.map +1 -0
  100. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/propertyNames.js +75 -0
  101. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/propertyNames.js.map +1 -0
  102. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/ref.js +125 -0
  103. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/ref.js.map +1 -0
  104. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/required.js +254 -0
  105. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/required.js.map +1 -0
  106. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/uniqueItems.js +86 -0
  107. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/uniqueItems.js.map +1 -0
  108. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/validate.js +455 -0
  109. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/dotjs/validate.js.map +1 -0
  110. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/keyword.js +99 -0
  111. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/keyword.js.map +1 -0
  112. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/data.json.js +41 -0
  113. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/data.json.js.map +1 -0
  114. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/json-schema-draft-07.json.js +257 -0
  115. package/dist/node_modules/.pnpm/ajv@6.12.6/node_modules/ajv/lib/refs/json-schema-draft-07.json.js.map +1 -0
  116. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +32 -0
  117. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -0
  118. package/dist/node_modules/.pnpm/fast-json-stable-stringify@2.1.0/node_modules/fast-json-stable-stringify/index.js +53 -0
  119. package/dist/node_modules/.pnpm/fast-json-stable-stringify@2.1.0/node_modules/fast-json-stable-stringify/index.js.map +1 -0
  120. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/helper/streaming/sse.js +24 -0
  121. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/helper/streaming/sse.js.map +1 -0
  122. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/middleware/cors/index.js +87 -0
  123. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/middleware/cors/index.js.map +1 -0
  124. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/html.js +35 -0
  125. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/html.js.map +1 -0
  126. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/stream.js +69 -0
  127. package/dist/node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/utils/stream.js.map +1 -0
  128. package/dist/node_modules/.pnpm/json-schema-traverse@0.4.1/node_modules/json-schema-traverse/index.js +83 -0
  129. package/dist/node_modules/.pnpm/json-schema-traverse@0.4.1/node_modules/json-schema-traverse/index.js.map +1 -0
  130. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.js +123 -0
  131. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.js.map +1 -0
  132. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.js +388 -0
  133. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.js.map +1 -0
  134. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.js +277 -0
  135. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.js.map +1 -0
  136. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.js +11 -0
  137. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.js.map +1 -0
  138. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.js +53 -0
  139. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.js.map +1 -0
  140. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.js +46 -0
  141. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.js.map +1 -0
  142. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.js +12 -0
  143. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.js.map +1 -0
  144. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.js +8 -0
  145. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.js.map +1 -0
  146. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.js +8 -0
  147. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.js.map +1 -0
  148. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.js +42 -0
  149. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.js.map +1 -0
  150. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.js +8 -0
  151. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.js.map +1 -0
  152. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.js +8 -0
  153. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.js.map +1 -0
  154. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.js +8 -0
  155. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.js.map +1 -0
  156. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.js +22 -0
  157. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.js.map +1 -0
  158. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.js +8 -0
  159. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.js.map +1 -0
  160. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.js +8 -0
  161. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.js.map +1 -0
  162. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.js +8 -0
  163. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.js.map +1 -0
  164. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.js +8 -0
  165. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.js.map +1 -0
  166. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.js +8 -0
  167. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.js.map +1 -0
  168. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.js +20 -0
  169. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.js.map +1 -0
  170. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.js +8 -0
  171. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.js.map +1 -0
  172. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.js +11 -0
  173. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.js.map +1 -0
  174. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.js +8 -0
  175. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.js.map +1 -0
  176. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.js +8 -0
  177. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.js.map +1 -0
  178. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.js +15 -0
  179. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.js.map +1 -0
  180. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.js +8 -0
  181. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.js.map +1 -0
  182. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.js +11 -0
  183. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.js.map +1 -0
  184. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.js +135 -0
  185. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.js.map +1 -0
  186. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.js +29 -0
  187. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.js.map +1 -0
  188. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.js +7 -0
  189. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.js.map +1 -0
  190. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.js +22 -0
  191. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.js.map +1 -0
  192. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.js +35 -0
  193. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.js.map +1 -0
  194. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.js +16 -0
  195. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.js.map +1 -0
  196. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.js +91 -0
  197. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.js.map +1 -0
  198. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.js +8 -0
  199. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.js.map +1 -0
  200. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.js +12 -0
  201. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.js.map +1 -0
  202. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.js +8 -0
  203. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.js.map +1 -0
  204. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.js +28 -0
  205. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.js.map +1 -0
  206. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.js +28 -0
  207. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.js.map +1 -0
  208. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.js +57 -0
  209. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.js.map +1 -0
  210. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.js +74 -0
  211. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.js.map +1 -0
  212. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.js +49 -0
  213. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.js.map +1 -0
  214. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.js +163 -0
  215. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.js.map +1 -0
  216. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.js +8 -0
  217. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.js.map +1 -0
  218. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.js +14 -0
  219. package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.js.map +1 -0
  220. package/dist/node_modules/.pnpm/uri-js@4.4.1/node_modules/uri-js/dist/es5/uri.all.js +1027 -0
  221. package/dist/node_modules/.pnpm/uri-js@4.4.1/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
  222. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js +38 -0
  223. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js.map +1 -0
  224. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js +24 -0
  225. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +1 -0
  226. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +19 -0
  227. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +1 -0
  228. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +12 -0
  229. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +1 -0
  230. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js +62 -0
  231. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +1 -0
  232. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +19 -0
  233. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +1 -0
  234. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +29 -0
  235. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +1 -0
  236. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +49 -0
  237. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +1 -0
  238. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +9 -0
  239. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +1 -0
  240. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +8 -0
  241. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +1 -0
  242. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +8 -0
  243. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +1 -0
  244. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +62 -0
  245. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +1 -0
  246. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +11 -0
  247. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +1 -0
  248. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +9 -0
  249. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +1 -0
  250. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +10 -0
  251. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +1 -0
  252. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +45 -0
  253. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +1 -0
  254. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +22 -0
  255. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +1 -0
  256. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +30 -0
  257. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +1 -0
  258. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +16 -0
  259. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +1 -0
  260. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +13 -0
  261. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +1 -0
  262. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +12 -0
  263. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +1 -0
  264. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +36 -0
  265. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +1 -0
  266. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +52 -0
  267. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +1 -0
  268. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +73 -0
  269. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +1 -0
  270. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +23 -0
  271. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +1 -0
  272. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +23 -0
  273. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +1 -0
  274. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +8 -0
  275. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +1 -0
  276. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +8 -0
  277. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +1 -0
  278. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +59 -0
  279. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +1 -0
  280. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +24 -0
  281. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +1 -0
  282. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +322 -0
  283. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
  284. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +31 -0
  285. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +1 -0
  286. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +10 -0
  287. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +1 -0
  288. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +72 -0
  289. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +1 -0
  290. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +8 -0
  291. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +1 -0
  292. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js +109 -0
  293. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +1 -0
  294. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +67 -0
  295. package/dist/node_modules/.pnpm/zod-to-json-schema@3.24.6_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +1 -0
  296. package/dist/run.d.ts +0 -1
  297. package/dist/run.js +23 -44623
  298. package/dist/run.js.map +1 -0
  299. package/dist/sentry-config.d.ts +7 -0
  300. package/dist/sentry-config.js +11 -0
  301. package/dist/sentry-config.js.map +1 -0
  302. package/dist/server/cli/help.d.ts +1 -0
  303. package/dist/server/cli/help.js +38 -0
  304. package/dist/server/cli/help.js.map +1 -0
  305. package/dist/server/cli/mcp.d.ts +2 -0
  306. package/dist/server/cli/mcp.js +105 -0
  307. package/dist/server/cli/mcp.js.map +1 -0
  308. package/dist/server/cli/run.d.ts +2 -0
  309. package/dist/server/cli/run.js +271 -0
  310. package/dist/server/cli/run.js.map +1 -0
  311. package/dist/server/cli/server.d.ts +2 -0
  312. package/dist/server/cli/server.js +13 -0
  313. package/dist/server/cli/server.js.map +1 -0
  314. package/dist/server/cli/tail.d.ts +8 -0
  315. package/dist/server/cli/tail.js +97 -0
  316. package/dist/server/cli/tail.js.map +1 -0
  317. package/dist/server/cli.d.ts +16 -0
  318. package/dist/server/cli.js +120 -0
  319. package/dist/server/cli.js.map +1 -0
  320. package/dist/server/constants.d.ts +3 -0
  321. package/dist/server/constants.js +7 -0
  322. package/dist/server/constants.js.map +1 -0
  323. package/dist/server/formatters/human/errors.d.ts +6 -0
  324. package/dist/server/formatters/human/errors.js +28 -0
  325. package/dist/server/formatters/human/errors.js.map +1 -0
  326. package/dist/server/formatters/human/index.d.ts +2 -0
  327. package/dist/server/formatters/human/index.js +13 -0
  328. package/dist/server/formatters/human/index.js.map +1 -0
  329. package/dist/server/formatters/human/logs.d.ts +6 -0
  330. package/dist/server/formatters/human/logs.js +23 -0
  331. package/dist/server/formatters/human/logs.js.map +1 -0
  332. package/dist/server/formatters/human/traces.d.ts +6 -0
  333. package/dist/server/formatters/human/traces.js +29 -0
  334. package/dist/server/formatters/human/traces.js.map +1 -0
  335. package/dist/server/formatters/human/utils.d.ts +43 -0
  336. package/dist/server/formatters/human/utils.js +113 -0
  337. package/dist/server/formatters/human/utils.js.map +1 -0
  338. package/dist/server/formatters/index.d.ts +11 -0
  339. package/dist/server/formatters/index.js +19 -0
  340. package/dist/server/formatters/index.js.map +1 -0
  341. package/dist/server/formatters/json/errors.d.ts +3 -0
  342. package/dist/server/formatters/json/errors.js +8 -0
  343. package/dist/server/formatters/json/errors.js.map +1 -0
  344. package/dist/server/formatters/json/index.d.ts +2 -0
  345. package/dist/server/formatters/json/index.js +13 -0
  346. package/dist/server/formatters/json/index.js.map +1 -0
  347. package/dist/server/formatters/json/logs.d.ts +3 -0
  348. package/dist/server/formatters/json/logs.js +11 -0
  349. package/dist/server/formatters/json/logs.js.map +1 -0
  350. package/dist/server/formatters/json/traces.d.ts +3 -0
  351. package/dist/server/formatters/json/traces.js +8 -0
  352. package/dist/server/formatters/json/traces.js.map +1 -0
  353. package/dist/server/formatters/logfmt/errors.d.ts +3 -0
  354. package/dist/server/formatters/logfmt/errors.js +9 -0
  355. package/dist/server/formatters/logfmt/errors.js.map +1 -0
  356. package/dist/server/formatters/logfmt/index.d.ts +2 -0
  357. package/dist/server/formatters/logfmt/index.js +13 -0
  358. package/dist/server/formatters/logfmt/index.js.map +1 -0
  359. package/dist/server/formatters/logfmt/logs.d.ts +3 -0
  360. package/dist/server/formatters/logfmt/logs.js +27 -0
  361. package/dist/server/formatters/logfmt/logs.js.map +1 -0
  362. package/dist/server/formatters/logfmt/traces.d.ts +3 -0
  363. package/dist/server/formatters/logfmt/traces.js +9 -0
  364. package/dist/server/formatters/logfmt/traces.js.map +1 -0
  365. package/dist/server/formatters/md/errors.d.ts +10 -0
  366. package/dist/server/formatters/md/errors.js +77 -0
  367. package/dist/server/formatters/md/errors.js.map +1 -0
  368. package/dist/server/formatters/md/event.d.ts +11 -0
  369. package/dist/server/formatters/md/event.js +362 -0
  370. package/dist/server/formatters/md/event.js.map +1 -0
  371. package/dist/server/formatters/md/index.d.ts +2 -0
  372. package/dist/server/formatters/md/index.js +13 -0
  373. package/dist/server/formatters/md/index.js.map +1 -0
  374. package/dist/server/formatters/md/logs.d.ts +7 -0
  375. package/dist/server/formatters/md/logs.js +39 -0
  376. package/dist/server/formatters/md/logs.js.map +1 -0
  377. package/dist/server/formatters/md/traces.d.ts +87 -0
  378. package/dist/server/formatters/md/traces.js +300 -0
  379. package/dist/server/formatters/md/traces.js.map +1 -0
  380. package/dist/server/formatters/schema.d.ts +6810 -0
  381. package/dist/server/formatters/shared/data-builders.d.ts +15 -0
  382. package/dist/server/formatters/shared/data-builders.js +120 -0
  383. package/dist/server/formatters/shared/data-builders.js.map +1 -0
  384. package/dist/server/formatters/types.d.ts +33 -0
  385. package/dist/server/formatters/types.js +5 -0
  386. package/dist/server/formatters/types.js.map +1 -0
  387. package/dist/server/formatters/utils.d.ts +25 -0
  388. package/dist/server/formatters/utils.js +46 -0
  389. package/dist/server/formatters/utils.js.map +1 -0
  390. package/dist/server/handlers/fileToServe.d.ts +2 -0
  391. package/dist/server/handlers/fileToServe.js +27 -0
  392. package/dist/server/handlers/fileToServe.js.map +1 -0
  393. package/dist/server/handlers/index.d.ts +1 -0
  394. package/dist/server/logger.d.ts +5 -0
  395. package/dist/server/logger.js +31 -0
  396. package/dist/server/logger.js.map +1 -0
  397. package/dist/server/main.d.ts +6 -0
  398. package/dist/server/main.js +175 -0
  399. package/dist/server/main.js.map +1 -0
  400. package/dist/server/mcp/constants.d.ts +3 -0
  401. package/dist/server/mcp/constants.js +79 -0
  402. package/dist/server/mcp/constants.js.map +1 -0
  403. package/dist/server/mcp/mcp.d.ts +31 -0
  404. package/dist/server/mcp/mcp.js +392 -0
  405. package/dist/server/mcp/mcp.js.map +1 -0
  406. package/dist/server/messageBuffer.d.ts +40 -0
  407. package/dist/server/messageBuffer.js +279 -0
  408. package/dist/server/messageBuffer.js.map +1 -0
  409. package/dist/server/parser/helpers.d.ts +10 -0
  410. package/dist/server/parser/helpers.js +32 -0
  411. package/dist/server/parser/helpers.js.map +1 -0
  412. package/dist/server/parser/index.d.ts +3 -0
  413. package/dist/server/parser/processEnvelope.d.ts +17 -0
  414. package/dist/server/parser/processEnvelope.js +86 -0
  415. package/dist/server/parser/processEnvelope.js.map +1 -0
  416. package/dist/server/parser/types.d.ts +198 -0
  417. package/dist/server/routes/clear.d.ts +3 -0
  418. package/dist/server/routes/clear.js +15 -0
  419. package/dist/server/routes/clear.js.map +1 -0
  420. package/dist/server/routes/contextlines/index.d.ts +3 -0
  421. package/dist/server/routes/contextlines/index.js +44 -0
  422. package/dist/server/routes/contextlines/index.js.map +1 -0
  423. package/dist/server/routes/contextlines/utils.d.ts +20 -0
  424. package/dist/server/routes/contextlines/utils.js +83 -0
  425. package/dist/server/routes/contextlines/utils.js.map +1 -0
  426. package/dist/server/routes/health.d.ts +3 -0
  427. package/dist/server/routes/health.js +7 -0
  428. package/dist/server/routes/health.js.map +1 -0
  429. package/dist/server/routes/index.d.ts +3 -0
  430. package/dist/server/routes/index.js +19 -0
  431. package/dist/server/routes/index.js.map +1 -0
  432. package/dist/server/routes/mcp.d.ts +3 -0
  433. package/dist/server/routes/mcp.js +20 -0
  434. package/dist/server/routes/mcp.js.map +1 -0
  435. package/dist/server/routes/open.d.ts +4 -0
  436. package/dist/server/routes/open.js +25 -0
  437. package/dist/server/routes/open.js.map +1 -0
  438. package/dist/server/routes/stream/debugLogging.d.ts +11 -0
  439. package/dist/server/routes/stream/debugLogging.js +59 -0
  440. package/dist/server/routes/stream/debugLogging.js.map +1 -0
  441. package/dist/server/routes/stream/index.d.ts +34 -0
  442. package/dist/server/routes/stream/index.js +98 -0
  443. package/dist/server/routes/stream/index.js.map +1 -0
  444. package/dist/server/routes/stream/streaming.d.ts +3 -0
  445. package/dist/server/routes/stream/streaming.js +26 -0
  446. package/dist/server/routes/stream/streaming.js.map +1 -0
  447. package/dist/server/routes/stream/userAgent.d.ts +11 -0
  448. package/dist/server/routes/stream/userAgent.js +25 -0
  449. package/dist/server/routes/stream/userAgent.js.map +1 -0
  450. package/dist/server/sdk.d.ts +15 -0
  451. package/dist/server/sdk.js +32 -0
  452. package/dist/server/sdk.js.map +1 -0
  453. package/dist/server/types/cli.d.ts +14 -0
  454. package/dist/server/types/env.d.ts +10 -0
  455. package/dist/server/types/index.d.ts +2 -0
  456. package/dist/server/types/utils.d.ts +44 -0
  457. package/dist/server/utils/cors.d.ts +12 -0
  458. package/dist/server/utils/cors.js +22 -0
  459. package/dist/server/utils/cors.js.map +1 -0
  460. package/dist/server/utils/docker-compose-parser.d.ts +20 -0
  461. package/dist/server/utils/docker-compose-parser.js +61 -0
  462. package/dist/server/utils/docker-compose-parser.js.map +1 -0
  463. package/dist/server/utils/docker-compose.d.ts +30 -0
  464. package/dist/server/utils/docker-compose.js +131 -0
  465. package/dist/server/utils/docker-compose.js.map +1 -0
  466. package/dist/server/utils/eventContainer.d.ts +34 -0
  467. package/dist/server/utils/eventContainer.js +71 -0
  468. package/dist/server/utils/eventContainer.js.map +1 -0
  469. package/dist/server/utils/extras.d.ts +5 -0
  470. package/dist/server/utils/extras.js +63 -0
  471. package/dist/server/utils/extras.js.map +1 -0
  472. package/dist/server/utils/getBuffer.d.ts +1 -0
  473. package/dist/server/utils/getBuffer.js +9 -0
  474. package/dist/server/utils/getBuffer.js.map +1 -0
  475. package/dist/server/utils/index.d.ts +4 -0
  476. package/dist/shared/constants.d.ts +3 -0
  477. package/dist/shared/constants.js +9 -0
  478. package/dist/shared/constants.js.map +1 -0
  479. package/dist/ui/assets/angular-html.js +1 -0
  480. package/dist/ui/assets/angular-ts.js +1 -0
  481. package/dist/ui/assets/astro.js +1 -0
  482. package/dist/ui/assets/blade.js +1 -0
  483. package/dist/ui/assets/client.js +50 -0
  484. package/dist/ui/assets/coffee.js +1 -0
  485. package/dist/ui/assets/cpp.js +1 -0
  486. package/dist/ui/assets/electron-index.js +6 -0
  487. package/dist/ui/assets/firefox.svg +105 -0
  488. package/dist/ui/assets/glsl.js +1 -0
  489. package/dist/ui/assets/graphql.js +1 -0
  490. package/dist/ui/assets/haml.js +1 -0
  491. package/dist/ui/assets/handlebars.js +1 -0
  492. package/dist/ui/assets/html-derivative.js +1 -0
  493. package/dist/ui/assets/html.js +1 -0
  494. package/dist/ui/assets/http.js +1 -0
  495. package/dist/ui/assets/index.js +152 -0
  496. package/dist/ui/assets/index2.js +1 -0
  497. package/dist/ui/assets/instrumentation.js +24 -0
  498. package/dist/ui/assets/jinja.js +1 -0
  499. package/dist/ui/assets/jison.js +1 -0
  500. package/dist/ui/assets/julia.js +1 -0
  501. package/dist/ui/assets/main.css +1 -0
  502. package/dist/ui/assets/main.js +2 -0
  503. package/dist/ui/assets/marko.js +1 -0
  504. package/dist/ui/assets/mdc.js +1 -0
  505. package/dist/ui/assets/nestjs.svg +4 -0
  506. package/dist/ui/assets/php.js +1 -0
  507. package/dist/ui/assets/pug.js +1 -0
  508. package/dist/ui/assets/raleway-cyrillic-400-normal.woff +0 -0
  509. package/dist/ui/assets/raleway-cyrillic-400-normal.woff2 +0 -0
  510. package/dist/ui/assets/raleway-cyrillic-ext-400-normal.woff +0 -0
  511. package/dist/ui/assets/raleway-cyrillic-ext-400-normal.woff2 +0 -0
  512. package/dist/ui/assets/raleway-latin-400-normal.woff +0 -0
  513. package/dist/ui/assets/raleway-latin-400-normal.woff2 +0 -0
  514. package/dist/ui/assets/raleway-latin-ext-400-normal.woff +0 -0
  515. package/dist/ui/assets/raleway-latin-ext-400-normal.woff2 +0 -0
  516. package/dist/ui/assets/raleway-vietnamese-400-normal.woff +0 -0
  517. package/dist/ui/assets/raleway-vietnamese-400-normal.woff2 +0 -0
  518. package/dist/ui/assets/safari.svg +38 -0
  519. package/dist/ui/assets/scss.js +1 -0
  520. package/dist/ui/assets/svelte.js +1 -0
  521. package/dist/ui/assets/ts-tags.js +1 -0
  522. package/dist/ui/assets/vue-html.js +1 -0
  523. package/dist/ui/assets/vue-vine.js +1 -0
  524. package/dist/ui/assets/vue.js +1 -0
  525. package/dist/ui/assets/xml.js +1 -0
  526. package/dist/{overlay/src → ui}/index.html +34 -0
  527. package/dist/ui/manifest.json +1103 -0
  528. package/package.json +109 -19
  529. package/dist/overlay/assets/angular-html-BmadGEgW.js +0 -1
  530. package/dist/overlay/assets/angular-ts-D-QQnnGT.js +0 -1
  531. package/dist/overlay/assets/astro-DHnp0xIo.js +0 -1
  532. package/dist/overlay/assets/blade-OPzGcV14.js +0 -1
  533. package/dist/overlay/assets/coffee-Dl27lzbd.js +0 -1
  534. package/dist/overlay/assets/cpp-Cj177cuW.js +0 -1
  535. package/dist/overlay/assets/glsl-CkUcVZNK.js +0 -1
  536. package/dist/overlay/assets/graphql-BLaPX4fU.js +0 -1
  537. package/dist/overlay/assets/haml-6FagfhCM.js +0 -1
  538. package/dist/overlay/assets/handlebars-Bd5Y4M6I.js +0 -1
  539. package/dist/overlay/assets/html-7XVNRwN7.js +0 -1
  540. package/dist/overlay/assets/html-derivative-BNxZ5Yf6.js +0 -1
  541. package/dist/overlay/assets/http-WC357zBG.js +0 -1
  542. package/dist/overlay/assets/index-BfFEknL3.js +0 -1
  543. package/dist/overlay/assets/jinja-WEhOU5ES.js +0 -1
  544. package/dist/overlay/assets/jison-c2JI40PB.js +0 -1
  545. package/dist/overlay/assets/julia-DcoDQokW.js +0 -1
  546. package/dist/overlay/assets/main.js +0 -224
  547. package/dist/overlay/assets/marko-DDi9qpQP.js +0 -1
  548. package/dist/overlay/assets/mdc-FI2x3BiY.js +0 -1
  549. package/dist/overlay/assets/php-BRU9zhoN.js +0 -1
  550. package/dist/overlay/assets/pug-CJWI-qSo.js +0 -1
  551. package/dist/overlay/assets/scss-B1FaCqwR.js +0 -1
  552. package/dist/overlay/assets/svelte-BjDUPxZ1.js +0 -1
  553. package/dist/overlay/assets/ts-tags-CZMzuZh-.js +0 -1
  554. package/dist/overlay/assets/vue-D-ba2-Rx.js +0 -1
  555. package/dist/overlay/assets/vue-html-Dn2ZoOSz.js +0 -1
  556. package/dist/overlay/assets/vue-vine-Jmfkm6lF.js +0 -1
  557. package/dist/overlay/assets/xml-C2J0sS9M.js +0 -1
  558. package/dist/overlay/manifest.json +0 -1000
  559. package/dist/run.cjs +0 -44693
  560. package/dist/sidecar.cjs +0 -7
  561. package/dist/sidecar.d.ts +0 -1
  562. package/dist/sidecar.js +0 -4
  563. /package/dist/{overlay/assets/andromeeda-BIpZ7gaU.js → ui/assets/andromeeda.js} +0 -0
  564. /package/dist/{overlay/assets/aurora-x-BwoVEUWZ.js → ui/assets/aurora-x.js} +0 -0
  565. /package/dist/{overlay/assets/ayu-dark-CxPZkpb2.js → ui/assets/ayu-dark.js} +0 -0
  566. /package/dist/{overlay/assets/c-eeMepfLm.js → ui/assets/c.js} +0 -0
  567. /package/dist/{overlay/assets/catppuccin-frappe-5udUqgsX.js → ui/assets/catppuccin-frappe.js} +0 -0
  568. /package/dist/{overlay/assets/catppuccin-latte-ufkS-HWv.js → ui/assets/catppuccin-latte.js} +0 -0
  569. /package/dist/{overlay/assets/catppuccin-macchiato-DzL2LPek.js → ui/assets/catppuccin-macchiato.js} +0 -0
  570. /package/dist/{overlay/assets/catppuccin-mocha-DDDDwkUT.js → ui/assets/catppuccin-mocha.js} +0 -0
  571. /package/dist/{overlay/assets/css-CECN5uSL.js → ui/assets/css.js} +0 -0
  572. /package/dist/{overlay/assets/dark-plus-pUHDTVV0.js → ui/assets/dark-plus.js} +0 -0
  573. /package/dist/{overlay/assets/dracula-soft-BKa-aqBv.js → ui/assets/dracula-soft.js} +0 -0
  574. /package/dist/{overlay/assets/dracula-BtZx2Kac.js → ui/assets/dracula.js} +0 -0
  575. /package/dist/{overlay/assets/everforest-dark-DMCBqXCK.js → ui/assets/everforest-dark.js} +0 -0
  576. /package/dist/{overlay/assets/everforest-light-BbXl82Em.js → ui/assets/everforest-light.js} +0 -0
  577. /package/dist/{overlay/assets/github-dark-default-BJPUVz4H.js → ui/assets/github-dark-default.js} +0 -0
  578. /package/dist/{overlay/assets/github-dark-dimmed-DUshB20C.js → ui/assets/github-dark-dimmed.js} +0 -0
  579. /package/dist/{overlay/assets/github-dark-high-contrast-D3aGCnF8.js → ui/assets/github-dark-high-contrast.js} +0 -0
  580. /package/dist/{overlay/assets/github-dark-DenFmJkN.js → ui/assets/github-dark.js} +0 -0
  581. /package/dist/{overlay/assets/github-light-default-D99KPAby.js → ui/assets/github-light-default.js} +0 -0
  582. /package/dist/{overlay/assets/github-light-high-contrast-BbmZE-Mp.js → ui/assets/github-light-high-contrast.js} +0 -0
  583. /package/dist/{overlay/assets/github-light-JYsPkUQd.js → ui/assets/github-light.js} +0 -0
  584. /package/dist/{overlay/assets/gruvbox-dark-hard-C2ND4cMr.js → ui/assets/gruvbox-dark-hard.js} +0 -0
  585. /package/dist/{overlay/assets/gruvbox-dark-medium-C8k4c8au.js → ui/assets/gruvbox-dark-medium.js} +0 -0
  586. /package/dist/{overlay/assets/gruvbox-dark-soft-xx9Q6FaG.js → ui/assets/gruvbox-dark-soft.js} +0 -0
  587. /package/dist/{overlay/assets/gruvbox-light-hard-BpUXv5in.js → ui/assets/gruvbox-light-hard.js} +0 -0
  588. /package/dist/{overlay/assets/gruvbox-light-medium-D3XFCoU1.js → ui/assets/gruvbox-light-medium.js} +0 -0
  589. /package/dist/{overlay/assets/gruvbox-light-soft-u7hpfz6Z.js → ui/assets/gruvbox-light-soft.js} +0 -0
  590. /package/dist/{overlay/assets/houston-BDYrDoDW.js → ui/assets/houston.js} +0 -0
  591. /package/dist/{overlay/assets/imba-CimUv-Uh.js → ui/assets/imba.js} +0 -0
  592. /package/dist/{overlay/assets/java-DY6VlHhP.js → ui/assets/java.js} +0 -0
  593. /package/dist/{overlay/assets/javascript-Dp1Jmi5H.js → ui/assets/javascript.js} +0 -0
  594. /package/dist/{overlay/assets/json-DxJze_jm.js → ui/assets/json.js} +0 -0
  595. /package/dist/{overlay/assets/json5-BT4Fjg39.js → ui/assets/json5.js} +0 -0
  596. /package/dist/{overlay/assets/jsonc-CHjZD8gR.js → ui/assets/jsonc.js} +0 -0
  597. /package/dist/{overlay/assets/jsonl-BGuvDmy9.js → ui/assets/jsonl.js} +0 -0
  598. /package/dist/{overlay/assets/jsx-BtKADgXT.js → ui/assets/jsx.js} +0 -0
  599. /package/dist/{overlay/assets/kanagawa-dragon-CiKur4Hl.js → ui/assets/kanagawa-dragon.js} +0 -0
  600. /package/dist/{overlay/assets/kanagawa-lotus-BKu-smKu.js → ui/assets/kanagawa-lotus.js} +0 -0
  601. /package/dist/{overlay/assets/kanagawa-wave-CQwozSzG.js → ui/assets/kanagawa-wave.js} +0 -0
  602. /package/dist/{overlay/assets/laserwave-6a00oqik.js → ui/assets/laserwave.js} +0 -0
  603. /package/dist/{overlay/assets/less-B1GLI2Di.js → ui/assets/less.js} +0 -0
  604. /package/dist/{overlay/assets/light-plus-CZuVqSLX.js → ui/assets/light-plus.js} +0 -0
  605. /package/dist/{overlay/assets/markdown-CrScaQ96.js → ui/assets/markdown.js} +0 -0
  606. /package/dist/{overlay/assets/material-theme-darker-CkRroheE.js → ui/assets/material-theme-darker.js} +0 -0
  607. /package/dist/{overlay/assets/material-theme-lighter-BUBw43Yz.js → ui/assets/material-theme-lighter.js} +0 -0
  608. /package/dist/{overlay/assets/material-theme-ocean-ClGX14Ja.js → ui/assets/material-theme-ocean.js} +0 -0
  609. /package/dist/{overlay/assets/material-theme-palenight-C1RVm8K1.js → ui/assets/material-theme-palenight.js} +0 -0
  610. /package/dist/{overlay/assets/material-theme-D6KBX41T.js → ui/assets/material-theme.js} +0 -0
  611. /package/dist/{overlay/assets/mdx-BOhZZUJ8.js → ui/assets/mdx.js} +0 -0
  612. /package/dist/{overlay/assets/min-dark-C7ak0t6c.js → ui/assets/min-dark.js} +0 -0
  613. /package/dist/{overlay/assets/min-light-CKFxVcPp.js → ui/assets/min-light.js} +0 -0
  614. /package/dist/{overlay/assets/monokai-C1KBYcO0.js → ui/assets/monokai.js} +0 -0
  615. /package/dist/{overlay/assets/night-owl-Bm2rzalh.js → ui/assets/night-owl.js} +0 -0
  616. /package/dist/{overlay/assets/nord-CC5OiUXg.js → ui/assets/nord.js} +0 -0
  617. /package/dist/{overlay/assets/one-dark-pro-DTA3VF0_.js → ui/assets/one-dark-pro.js} +0 -0
  618. /package/dist/{overlay/assets/one-light-D9sNaUtq.js → ui/assets/one-light.js} +0 -0
  619. /package/dist/{overlay/assets/plastic-CSTz3KZp.js → ui/assets/plastic.js} +0 -0
  620. /package/dist/{overlay/assets/poimandres-C-VADXHD.js → ui/assets/poimandres.js} +0 -0
  621. /package/dist/{overlay/assets/postcss-05aHdL-n.js → ui/assets/postcss.js} +0 -0
  622. /package/dist/{overlay/assets/python-BFNSHbwJ.js → ui/assets/python.js} +0 -0
  623. /package/dist/{overlay/assets/r-Bm0uF0U2.js → ui/assets/r.js} +0 -0
  624. /package/dist/{overlay/assets/red-7y8PH7HH.js → ui/assets/red.js} +0 -0
  625. /package/dist/{overlay/assets/regexp-BazyLpPg.js → ui/assets/regexp.js} +0 -0
  626. /package/dist/{overlay/assets/rose-pine-dawn-ClRRUdXX.js → ui/assets/rose-pine-dawn.js} +0 -0
  627. /package/dist/{overlay/assets/rose-pine-moon-ucNn3Gm8.js → ui/assets/rose-pine-moon.js} +0 -0
  628. /package/dist/{overlay/assets/rose-pine-Cr4kwgAY.js → ui/assets/rose-pine.js} +0 -0
  629. /package/dist/{overlay/assets/sass-DxHp5rTx.js → ui/assets/sass.js} +0 -0
  630. /package/dist/{overlay/assets/shellscript-InADTalH.js → ui/assets/shellscript.js} +0 -0
  631. /package/dist/{overlay/assets/slack-dark-i7wN4OET.js → ui/assets/slack-dark.js} +0 -0
  632. /package/dist/{overlay/assets/slack-ochin-ndHf0LoP.js → ui/assets/slack-ochin.js} +0 -0
  633. /package/dist/{overlay/assets/snazzy-light-BlSJXAu4.js → ui/assets/snazzy-light.js} +0 -0
  634. /package/dist/{overlay/assets/solarized-dark-UTmkh7lw.js → ui/assets/solarized-dark.js} +0 -0
  635. /package/dist/{overlay/assets/solarized-light-BheCkDPT.js → ui/assets/solarized-light.js} +0 -0
  636. /package/dist/{overlay/assets/sql-Cn_v3PB0.js → ui/assets/sql.js} +0 -0
  637. /package/dist/{overlay/assets/stylus-CyKEU1Ej.js → ui/assets/stylus.js} +0 -0
  638. /package/dist/{overlay/assets/synthwave-84-NU3C_KFZ.js → ui/assets/synthwave-84.js} +0 -0
  639. /package/dist/{overlay/assets/tokyo-night-DP4TmcQl.js → ui/assets/tokyo-night.js} +0 -0
  640. /package/dist/{overlay/assets/tsx-B8rCNbgL.js → ui/assets/tsx.js} +0 -0
  641. /package/dist/{overlay/assets/typescript-mg6ATTE8.js → ui/assets/typescript.js} +0 -0
  642. /package/dist/{overlay/assets/vesper-BckBta1U.js → ui/assets/vesper.js} +0 -0
  643. /package/dist/{overlay/assets/vitesse-black-BoGvW84i.js → ui/assets/vitesse-black.js} +0 -0
  644. /package/dist/{overlay/assets/vitesse-dark-Cym-eLtO.js → ui/assets/vitesse-dark.js} +0 -0
  645. /package/dist/{overlay/assets/vitesse-light-CcmG315c.js → ui/assets/vitesse-light.js} +0 -0
  646. /package/dist/{overlay/assets/wasm-BBXxrAl7.js → ui/assets/wasm.js} +0 -0
  647. /package/dist/{overlay/assets/wasm-DQxwEHae.js → ui/assets/wasm2.js} +0 -0
  648. /package/dist/{overlay/assets/wgsl-DY4iK1q1.js → ui/assets/wgsl.js} +0 -0
  649. /package/dist/{overlay/assets/wit-CQMQOlTg.js → ui/assets/wit.js} +0 -0
  650. /package/dist/{overlay/assets/yaml-DaO7k5B1.js → ui/assets/yaml.js} +0 -0
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Build error event data object.
3
+ * Used by both logfmt and json formatters.
4
+ */
5
+ export declare function buildErrorData(event: any): Record<string, any>;
6
+ /**
7
+ * Build log event data object.
8
+ * Used by both logfmt and json formatters.
9
+ */
10
+ export declare function buildLogData(log: any): Record<string, any>;
11
+ /**
12
+ * Build trace/transaction event data object.
13
+ * Used by both logfmt and json formatters.
14
+ */
15
+ export declare function buildTraceData(event: any): Record<string, any>;
@@ -0,0 +1,120 @@
1
+ import { formatTimestamp, mapFields, getDuration, mapSdkFields, mapTags } from "../utils.js";
2
+ function buildErrorData(event) {
3
+ const data = {
4
+ timestamp: formatTimestamp(event.timestamp),
5
+ type: "error",
6
+ level: event.level || "error",
7
+ event_id: event.event_id
8
+ };
9
+ const message = event.message || event.logentry?.message;
10
+ if (message) {
11
+ data.message = message;
12
+ }
13
+ const exc = event.exception?.values?.[0];
14
+ if (exc) {
15
+ mapFields(exc, data, {
16
+ exception_type: "type",
17
+ exception_value: "value"
18
+ });
19
+ const frames = exc.stacktrace?.frames;
20
+ if (frames?.length) {
21
+ const frame = frames.find((f) => f.in_app) || frames[frames.length - 1];
22
+ mapFields(frame, data, {
23
+ filename: "filename",
24
+ lineno: "lineno",
25
+ colno: "colno",
26
+ function: "function"
27
+ });
28
+ }
29
+ }
30
+ const trace = event.contexts?.trace;
31
+ if (trace?.trace_id) {
32
+ mapFields(trace, data, {
33
+ trace_id: "trace_id",
34
+ span_id: "span_id"
35
+ });
36
+ }
37
+ mapFields(event, data, {
38
+ environment: "environment",
39
+ release: "release",
40
+ dist: "dist",
41
+ platform: "platform",
42
+ transaction: "transaction",
43
+ logger: "logger",
44
+ server_name: "server_name",
45
+ user_id: "user.id",
46
+ user_email: "user.email",
47
+ user_username: "user.username",
48
+ request_url: "request.url",
49
+ request_method: "request.method"
50
+ });
51
+ mapSdkFields(event, data);
52
+ if (event.breadcrumbs?.length) data.breadcrumb_length = event.breadcrumbs.length;
53
+ if (event.spans?.length) data.span_length = event.spans.length;
54
+ mapTags(event, data);
55
+ return data;
56
+ }
57
+ function buildLogData(log) {
58
+ const data = {
59
+ timestamp: formatTimestamp(log.timestamp),
60
+ type: "log",
61
+ level: log.level
62
+ };
63
+ mapFields(log, data, {
64
+ message: "body",
65
+ trace_id: "trace_id",
66
+ severity_number: "severity_number"
67
+ });
68
+ if (log.attributes) {
69
+ for (const [key, attr] of Object.entries(log.attributes)) {
70
+ data[key] = attr.value;
71
+ }
72
+ }
73
+ return data;
74
+ }
75
+ function buildTraceData(event) {
76
+ const data = {
77
+ timestamp: formatTimestamp(event.timestamp),
78
+ type: "trace",
79
+ event_id: event.event_id
80
+ };
81
+ const trace = event.contexts?.trace;
82
+ if (trace?.trace_id) {
83
+ mapFields(trace, data, {
84
+ trace_id: "trace_id",
85
+ span_id: "span_id",
86
+ parent_span_id: "parent_span_id",
87
+ op: "op",
88
+ status: "status",
89
+ description: "description"
90
+ });
91
+ }
92
+ const duration = getDuration(event.timestamp, event.start_timestamp);
93
+ if (duration !== void 0) {
94
+ data.duration_ms = duration;
95
+ }
96
+ if (event.spans?.length) data.span_count = event.spans.length;
97
+ mapFields(event, data, {
98
+ transaction: "transaction",
99
+ environment: "environment",
100
+ release: "release",
101
+ platform: "platform",
102
+ server_name: "server_name"
103
+ });
104
+ mapSdkFields(event, data);
105
+ if (event.measurements) {
106
+ for (const [key, measurement] of Object.entries(event.measurements)) {
107
+ if (measurement?.value !== void 0) {
108
+ data[`measurement.${key}`] = measurement.value;
109
+ }
110
+ }
111
+ }
112
+ mapTags(event, data);
113
+ return data;
114
+ }
115
+ export {
116
+ buildErrorData,
117
+ buildLogData,
118
+ buildTraceData
119
+ };
120
+ //# sourceMappingURL=data-builders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-builders.js","sources":["../../../../src/server/formatters/shared/data-builders.ts"],"sourcesContent":["import { formatTimestamp, getDuration, mapFields, mapSdkFields, mapTags } from \"../utils.ts\";\n\n/**\n * Build error event data object.\n * Used by both logfmt and json formatters.\n */\nexport function buildErrorData(event: any): Record<string, any> {\n const data: Record<string, any> = {\n timestamp: formatTimestamp(event.timestamp),\n type: \"error\",\n level: event.level || \"error\",\n event_id: event.event_id,\n };\n\n const message = event.message || event.logentry?.message;\n if (message) {\n data.message = message;\n }\n\n const exc = event.exception?.values?.[0];\n if (exc) {\n mapFields(exc, data, {\n exception_type: \"type\",\n exception_value: \"value\",\n });\n\n const frames = exc.stacktrace?.frames;\n if (frames?.length) {\n const frame = frames.find((f: any) => f.in_app) || frames[frames.length - 1];\n mapFields(frame, data, {\n filename: \"filename\",\n lineno: \"lineno\",\n colno: \"colno\",\n function: \"function\",\n });\n }\n }\n\n const trace = event.contexts?.trace;\n if (trace?.trace_id) {\n mapFields(trace, data, {\n trace_id: \"trace_id\",\n span_id: \"span_id\",\n });\n }\n\n mapFields(event, data, {\n environment: \"environment\",\n release: \"release\",\n dist: \"dist\",\n platform: \"platform\",\n transaction: \"transaction\",\n logger: \"logger\",\n server_name: \"server_name\",\n user_id: \"user.id\",\n user_email: \"user.email\",\n user_username: \"user.username\",\n request_url: \"request.url\",\n request_method: \"request.method\",\n });\n\n mapSdkFields(event, data);\n\n if (event.breadcrumbs?.length) data.breadcrumb_length = event.breadcrumbs.length;\n if (event.spans?.length) data.span_length = event.spans.length;\n mapTags(event, data);\n\n return data;\n}\n\n/**\n * Build log event data object.\n * Used by both logfmt and json formatters.\n */\nexport function buildLogData(log: any): Record<string, any> {\n const data: Record<string, any> = {\n timestamp: formatTimestamp(log.timestamp),\n type: \"log\",\n level: log.level,\n };\n\n mapFields(log, data, {\n message: \"body\",\n trace_id: \"trace_id\",\n severity_number: \"severity_number\",\n });\n\n if (log.attributes) {\n for (const [key, attr] of Object.entries(log.attributes)) {\n data[key] = (attr as any).value;\n }\n }\n\n return data;\n}\n\n/**\n * Build trace/transaction event data object.\n * Used by both logfmt and json formatters.\n */\nexport function buildTraceData(event: any): Record<string, any> {\n const data: Record<string, any> = {\n timestamp: formatTimestamp(event.timestamp),\n type: \"trace\",\n event_id: event.event_id,\n };\n\n const trace = event.contexts?.trace;\n if (trace?.trace_id) {\n mapFields(trace, data, {\n trace_id: \"trace_id\",\n span_id: \"span_id\",\n parent_span_id: \"parent_span_id\",\n op: \"op\",\n status: \"status\",\n description: \"description\",\n });\n }\n\n const duration = getDuration(event.timestamp, event.start_timestamp);\n if (duration !== undefined) {\n data.duration_ms = duration;\n }\n\n if (event.spans?.length) data.span_count = event.spans.length;\n\n mapFields(event, data, {\n transaction: \"transaction\",\n environment: \"environment\",\n release: \"release\",\n platform: \"platform\",\n server_name: \"server_name\",\n });\n\n mapSdkFields(event, data);\n\n if (event.measurements) {\n for (const [key, measurement] of Object.entries(event.measurements)) {\n if ((measurement as any)?.value !== undefined) {\n data[`measurement.${key}`] = (measurement as any).value;\n }\n }\n }\n\n mapTags(event, data);\n\n return data;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { Envelope } from '@sentry/core';
2
+ import { SentryErrorEvent, SentryEvent, SentryLogEvent, SentryTransactionEvent } from '../parser/types.ts';
3
+ /**
4
+ * Strongly-typed formatter functions (no type guards needed in implementation)
5
+ */
6
+ export type ErrorFormatterFn = (event: SentryErrorEvent, envelopeHeader: Envelope[0]) => string[];
7
+ export type LogFormatterFn = (event: SentryLogEvent, envelopeHeader: Envelope[0]) => string[];
8
+ export type TraceFormatterFn = (event: SentryTransactionEvent, envelopeHeader: Envelope[0]) => string[];
9
+ /**
10
+ * Registry entry that bundles the formatter with its type guard
11
+ */
12
+ export type FormatterEntry<T extends SentryEvent> = {
13
+ typeGuard: (event: SentryEvent) => event is T;
14
+ format: (event: T, envelopeHeader: Envelope[0]) => string[];
15
+ };
16
+ /**
17
+ * The formatter registry structure - this IS the formatters object
18
+ */
19
+ export type FormatterRegistry = {
20
+ event: FormatterEntry<SentryErrorEvent>;
21
+ log: FormatterEntry<SentryLogEvent>;
22
+ transaction: FormatterEntry<SentryTransactionEvent>;
23
+ };
24
+ /**
25
+ * Available formatter types.
26
+ * Add new formatters here as they are implemented.
27
+ */
28
+ export type FormatterType = "md" | "logfmt" | "json" | "human";
29
+ /**
30
+ * Runtime array of valid formatter types for validation.
31
+ * Keep in sync with FormatterType.
32
+ */
33
+ export declare const AVAILABLE_FORMATTERS: readonly FormatterType[];
@@ -0,0 +1,5 @@
1
+ const AVAILABLE_FORMATTERS = ["md", "logfmt", "json", "human"];
2
+ export {
3
+ AVAILABLE_FORMATTERS
4
+ };
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../src/server/formatters/types.ts"],"sourcesContent":["import type { Envelope } from \"@sentry/core\";\nimport type { SentryErrorEvent, SentryEvent, SentryLogEvent, SentryTransactionEvent } from \"../parser/types.ts\";\n\n/**\n * Strongly-typed formatter functions (no type guards needed in implementation)\n */\nexport type ErrorFormatterFn = (event: SentryErrorEvent, envelopeHeader: Envelope[0]) => string[];\nexport type LogFormatterFn = (event: SentryLogEvent, envelopeHeader: Envelope[0]) => string[];\nexport type TraceFormatterFn = (event: SentryTransactionEvent, envelopeHeader: Envelope[0]) => string[];\n\n/**\n * Registry entry that bundles the formatter with its type guard\n */\nexport type FormatterEntry<T extends SentryEvent> = {\n typeGuard: (event: SentryEvent) => event is T;\n format: (event: T, envelopeHeader: Envelope[0]) => string[];\n};\n\n/**\n * The formatter registry structure - this IS the formatters object\n */\nexport type FormatterRegistry = {\n event: FormatterEntry<SentryErrorEvent>;\n log: FormatterEntry<SentryLogEvent>;\n transaction: FormatterEntry<SentryTransactionEvent>;\n};\n\n/**\n * Available formatter types.\n * Add new formatters here as they are implemented.\n */\nexport type FormatterType = \"md\" | \"logfmt\" | \"json\" | \"human\";\n\n/**\n * Runtime array of valid formatter types for validation.\n * Keep in sync with FormatterType.\n */\nexport const AVAILABLE_FORMATTERS: readonly FormatterType[] = [\"md\", \"logfmt\", \"json\", \"human\"] as const;\n"],"names":[],"mappings":"AAqCO,MAAM,uBAAiD,CAAC,MAAM,UAAU,QAAQ,OAAO;"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Format a Sentry timestamp (in seconds) to ISO string.
3
+ * Sentry timestamps are Unix timestamps in seconds, so we multiply by 1000 to convert to milliseconds.
4
+ * Falls back to epoch (1970-01-01T00:00:00.000Z) if timestamp is missing/invalid.
5
+ */
6
+ export declare function formatTimestamp(timestamp?: number): string;
7
+ /**
8
+ * Get the duration in milliseconds between two Sentry timestamps.
9
+ * Accepts timestamps in seconds (as numbers or strings).
10
+ * Returns undefined if either timestamp is missing or invalid.
11
+ */
12
+ export declare function getDuration(endTimestamp?: number | string, startTimestamp?: number | string): number | undefined;
13
+ /**
14
+ * Map simple fields from source to data object.
15
+ * Only sets fields if the source value is truthy.
16
+ */
17
+ export declare function mapFields(source: any, data: Record<string, any>, fieldMappings: Record<string, string>): void;
18
+ /**
19
+ * Map SDK name and version fields
20
+ */
21
+ export declare function mapSdkFields(source: any, data: Record<string, any>): void;
22
+ /**
23
+ * Map tags directly to data object
24
+ */
25
+ export declare function mapTags(source: any, data: Record<string, any>): void;
@@ -0,0 +1,46 @@
1
+ function formatTimestamp(timestamp) {
2
+ const date = timestamp ? new Date(timestamp * 1e3) : /* @__PURE__ */ new Date(0);
3
+ return date.toISOString();
4
+ }
5
+ function getDuration(endTimestamp, startTimestamp) {
6
+ const end = typeof endTimestamp === "string" ? Number.parseFloat(endTimestamp) : endTimestamp;
7
+ const start = typeof startTimestamp === "string" ? Number.parseFloat(startTimestamp) : startTimestamp;
8
+ if (typeof end === "number" && typeof start === "number" && !Number.isNaN(end) && !Number.isNaN(start)) {
9
+ return Math.round((end - start) * 1e3);
10
+ }
11
+ return void 0;
12
+ }
13
+ function mapFields(source, data, fieldMappings) {
14
+ for (const [outputKey, sourcePath] of Object.entries(fieldMappings)) {
15
+ const value = getNestedValue(source, sourcePath);
16
+ if (value !== void 0 && value !== null) {
17
+ data[outputKey] = value;
18
+ }
19
+ }
20
+ }
21
+ function mapSdkFields(source, data) {
22
+ if (source.sdk?.name) {
23
+ data.sdk = source.sdk.name;
24
+ if (source.sdk.version) {
25
+ data.sdk_version = source.sdk.version;
26
+ }
27
+ }
28
+ }
29
+ function mapTags(source, data) {
30
+ if (source.tags) {
31
+ for (const [key, value] of Object.entries(source.tags)) {
32
+ data[key] = value;
33
+ }
34
+ }
35
+ }
36
+ function getNestedValue(obj, path) {
37
+ return path.split(".").reduce((current, key) => current?.[key], obj);
38
+ }
39
+ export {
40
+ formatTimestamp,
41
+ getDuration,
42
+ mapFields,
43
+ mapSdkFields,
44
+ mapTags
45
+ };
46
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/server/formatters/utils.ts"],"sourcesContent":["/**\n * Format a Sentry timestamp (in seconds) to ISO string.\n * Sentry timestamps are Unix timestamps in seconds, so we multiply by 1000 to convert to milliseconds.\n * Falls back to epoch (1970-01-01T00:00:00.000Z) if timestamp is missing/invalid.\n */\nexport function formatTimestamp(timestamp?: number): string {\n const date = timestamp ? new Date(timestamp * 1000) : new Date(0);\n return date.toISOString();\n}\n\n/**\n * Get the duration in milliseconds between two Sentry timestamps.\n * Accepts timestamps in seconds (as numbers or strings).\n * Returns undefined if either timestamp is missing or invalid.\n */\n\nexport function getDuration(endTimestamp?: number | string, startTimestamp?: number | string): number | undefined {\n const end = typeof endTimestamp === \"string\" ? Number.parseFloat(endTimestamp) : endTimestamp;\n const start = typeof startTimestamp === \"string\" ? Number.parseFloat(startTimestamp) : startTimestamp;\n\n if (typeof end === \"number\" && typeof start === \"number\" && !Number.isNaN(end) && !Number.isNaN(start)) {\n return Math.round((end - start) * 1000);\n }\n\n return undefined;\n}\n\n/**\n * Map simple fields from source to data object.\n * Only sets fields if the source value is truthy.\n */\nexport function mapFields(source: any, data: Record<string, any>, fieldMappings: Record<string, string>): void {\n for (const [outputKey, sourcePath] of Object.entries(fieldMappings)) {\n const value = getNestedValue(source, sourcePath);\n if (value !== undefined && value !== null) {\n data[outputKey] = value;\n }\n }\n}\n\n/**\n * Map SDK name and version fields\n */\nexport function mapSdkFields(source: any, data: Record<string, any>): void {\n if (source.sdk?.name) {\n data.sdk = source.sdk.name;\n if (source.sdk.version) {\n data.sdk_version = source.sdk.version;\n }\n }\n}\n\n/**\n * Map tags directly to data object\n */\nexport function mapTags(source: any, data: Record<string, any>): void {\n if (source.tags) {\n for (const [key, value] of Object.entries(source.tags)) {\n data[key] = value;\n }\n }\n}\n\n/**\n * Get nested value from object using dot notation path\n */\nfunction getNestedValue(obj: any, path: string): any {\n return path.split(\".\").reduce((current, key) => current?.[key], obj);\n}\n"],"names":[],"mappings":"AAKO,SAAS,gBAAgB,WAA4B;AAC1D,QAAM,OAAO,YAAY,IAAI,KAAK,YAAY,GAAI,IAAI,oBAAI,KAAK,CAAC;AAChE,SAAO,KAAK,YAAA;AACd;AAQO,SAAS,YAAY,cAAgC,gBAAsD;AAChH,QAAM,MAAM,OAAO,iBAAiB,WAAW,OAAO,WAAW,YAAY,IAAI;AACjF,QAAM,QAAQ,OAAO,mBAAmB,WAAW,OAAO,WAAW,cAAc,IAAI;AAEvF,MAAI,OAAO,QAAQ,YAAY,OAAO,UAAU,YAAY,CAAC,OAAO,MAAM,GAAG,KAAK,CAAC,OAAO,MAAM,KAAK,GAAG;AACtG,WAAO,KAAK,OAAO,MAAM,SAAS,GAAI;AAAA,EACxC;AAEA,SAAO;AACT;AAMO,SAAS,UAAU,QAAa,MAA2B,eAA6C;AAC7G,aAAW,CAAC,WAAW,UAAU,KAAK,OAAO,QAAQ,aAAa,GAAG;AACnE,UAAM,QAAQ,eAAe,QAAQ,UAAU;AAC/C,QAAI,UAAU,UAAa,UAAU,MAAM;AACzC,WAAK,SAAS,IAAI;AAAA,IACpB;AAAA,EACF;AACF;AAKO,SAAS,aAAa,QAAa,MAAiC;AACzE,MAAI,OAAO,KAAK,MAAM;AACpB,SAAK,MAAM,OAAO,IAAI;AACtB,QAAI,OAAO,IAAI,SAAS;AACtB,WAAK,cAAc,OAAO,IAAI;AAAA,IAChC;AAAA,EACF;AACF;AAKO,SAAS,QAAQ,QAAa,MAAiC;AACpE,MAAI,OAAO,MAAM;AACf,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,IAAI,GAAG;AACtD,WAAK,GAAG,IAAI;AAAA,IACd;AAAA,EACF;AACF;AAKA,SAAS,eAAe,KAAU,MAAmB;AACnD,SAAO,KAAK,MAAM,GAAG,EAAE,OAAO,CAAC,SAAS,QAAQ,UAAU,GAAG,GAAG,GAAG;AACrE;"}
@@ -0,0 +1,2 @@
1
+ import { Handler } from 'hono';
2
+ export declare function serveFilesHandler(filesToServe: Record<string, Buffer>): Handler;
@@ -0,0 +1,27 @@
1
+ import { extname } from "node:path";
2
+ const extensionsToContentType = {
3
+ ".js": "text/javascript",
4
+ ".css": "text/css",
5
+ ".json": "application/json"
6
+ };
7
+ function serveFilesHandler(filesToServe) {
8
+ return (ctx) => {
9
+ let filePath = `${ctx.req.path || ctx.req.url}`;
10
+ if (filePath === "/" || filePath.startsWith("/telemetry")) {
11
+ filePath = "/index.html";
12
+ }
13
+ filePath = filePath.slice(1);
14
+ const extName = extname(filePath);
15
+ const contentType = extensionsToContentType[extName] ?? "text/html";
16
+ if (!Object.hasOwn(filesToServe, filePath) || !filesToServe[filePath]) {
17
+ return ctx.notFound();
18
+ }
19
+ ctx.header("Document-Policy", "js-profiling");
20
+ ctx.header("Content-Type", contentType);
21
+ return ctx.body(new Uint8Array(filesToServe[filePath]));
22
+ };
23
+ }
24
+ export {
25
+ serveFilesHandler
26
+ };
27
+ //# sourceMappingURL=fileToServe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileToServe.js","sources":["../../../src/server/handlers/fileToServe.ts"],"sourcesContent":["import { extname } from \"node:path\";\nimport type { Handler } from \"hono\";\n\nconst extensionsToContentType: Record<string, string | undefined> = {\n \".js\": \"text/javascript\",\n \".css\": \"text/css\",\n \".json\": \"application/json\",\n};\n\nexport function serveFilesHandler(filesToServe: Record<string, Buffer>): Handler {\n return ctx => {\n let filePath = `${ctx.req.path || ctx.req.url}`;\n\n // The `/telemetry` route is handled by the React app with the location\n // router. This is kind of a hack to avoid a 404 when the user refreshes\n // the page or directly navigates to `/telemetry`. Should probably find\n // a better way to share routes from the UI to the server later on.\n if (filePath === \"/\" || filePath.startsWith(\"/telemetry\")) {\n filePath = \"/index.html\";\n }\n\n filePath = filePath.slice(1);\n\n const extName = extname(filePath);\n const contentType = extensionsToContentType[extName] ?? \"text/html\";\n\n if (!Object.hasOwn(filesToServe, filePath) || !filesToServe[filePath]) {\n return ctx.notFound();\n }\n\n // Enable profiling in browser\n ctx.header(\"Document-Policy\", \"js-profiling\");\n ctx.header(\"Content-Type\", contentType);\n\n return ctx.body(new Uint8Array(filesToServe[filePath]));\n };\n}\n"],"names":[],"mappings":";AAGA,MAAM,0BAA8D;AAAA,EAClE,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AACX;AAEO,SAAS,kBAAkB,cAA+C;AAC/E,SAAO,CAAA,QAAO;AACZ,QAAI,WAAW,GAAG,IAAI,IAAI,QAAQ,IAAI,IAAI,GAAG;AAM7C,QAAI,aAAa,OAAO,SAAS,WAAW,YAAY,GAAG;AACzD,iBAAW;AAAA,IACb;AAEA,eAAW,SAAS,MAAM,CAAC;AAE3B,UAAM,UAAU,QAAQ,QAAQ;AAChC,UAAM,cAAc,wBAAwB,OAAO,KAAK;AAExD,QAAI,CAAC,OAAO,OAAO,cAAc,QAAQ,KAAK,CAAC,aAAa,QAAQ,GAAG;AACrE,aAAO,IAAI,SAAA;AAAA,IACb;AAGA,QAAI,OAAO,mBAAmB,cAAc;AAC5C,QAAI,OAAO,gBAAgB,WAAW;AAEtC,WAAO,IAAI,KAAK,IAAI,WAAW,aAAa,QAAQ,CAAC,CAAC;AAAA,EACxD;AACF;"}
@@ -0,0 +1 @@
1
+ export * from './fileToServe.ts';
@@ -0,0 +1,5 @@
1
+ import { SidecarLogger } from './types/index.ts';
2
+ export declare function activateLogger(logger: SidecarLogger): void;
3
+ export declare function enableDebugLogging(debug: boolean): void;
4
+ export declare function isDebugEnabled(): boolean;
5
+ export declare const logger: SidecarLogger;
@@ -0,0 +1,31 @@
1
+ const SPOTLIGHT_PREFIX = "🔎 [Spotlight]";
2
+ const defaultLogger = {
3
+ info: (message) => console.error(SPOTLIGHT_PREFIX, message),
4
+ warn: (message) => console.error(SPOTLIGHT_PREFIX, message),
5
+ error: (message) => console.error(SPOTLIGHT_PREFIX, message),
6
+ debug: (message) => debugEnabled && console.error(SPOTLIGHT_PREFIX, message)
7
+ };
8
+ let injectedLogger = void 0;
9
+ let debugEnabled = false;
10
+ function activateLogger(logger2) {
11
+ injectedLogger = logger2;
12
+ }
13
+ function enableDebugLogging(debug) {
14
+ debugEnabled = debug;
15
+ }
16
+ function isDebugEnabled() {
17
+ return debugEnabled;
18
+ }
19
+ const logger = {
20
+ info: (message) => (injectedLogger || defaultLogger).info(message),
21
+ warn: (message) => (injectedLogger || defaultLogger).warn(message),
22
+ error: (message) => (injectedLogger || defaultLogger).error(message),
23
+ debug: (message) => (injectedLogger || defaultLogger).debug(message)
24
+ };
25
+ export {
26
+ activateLogger,
27
+ enableDebugLogging,
28
+ isDebugEnabled,
29
+ logger
30
+ };
31
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sources":["../../src/server/logger.ts"],"sourcesContent":["import type { SidecarLogger } from \"./types/index.ts\";\n\nconst SPOTLIGHT_PREFIX = \"🔎 [Spotlight]\";\n\nconst defaultLogger: SidecarLogger = {\n info: message => console.error(SPOTLIGHT_PREFIX, message),\n warn: message => console.error(SPOTLIGHT_PREFIX, message),\n error: message => console.error(SPOTLIGHT_PREFIX, message),\n debug: message => debugEnabled && console.error(SPOTLIGHT_PREFIX, message),\n};\n\nlet injectedLogger: SidecarLogger | undefined = undefined;\nlet debugEnabled = false;\n\nexport function activateLogger(logger: SidecarLogger): void {\n injectedLogger = logger;\n}\n\nexport function enableDebugLogging(debug: boolean): void {\n debugEnabled = debug;\n}\n\nexport function isDebugEnabled(): boolean {\n return debugEnabled;\n}\n\nexport const logger: SidecarLogger = {\n info: message => (injectedLogger || defaultLogger).info(message),\n warn: message => (injectedLogger || defaultLogger).warn(message),\n error: message => (injectedLogger || defaultLogger).error(message),\n debug: message => (injectedLogger || defaultLogger).debug(message),\n};\n"],"names":["logger"],"mappings":"AAEA,MAAM,mBAAmB;AAEzB,MAAM,gBAA+B;AAAA,EACnC,MAAM,CAAA,YAAW,QAAQ,MAAM,kBAAkB,OAAO;AAAA,EACxD,MAAM,CAAA,YAAW,QAAQ,MAAM,kBAAkB,OAAO;AAAA,EACxD,OAAO,CAAA,YAAW,QAAQ,MAAM,kBAAkB,OAAO;AAAA,EACzD,OAAO,CAAA,YAAW,gBAAgB,QAAQ,MAAM,kBAAkB,OAAO;AAC3E;AAEA,IAAI,iBAA4C;AAChD,IAAI,eAAe;AAEZ,SAAS,eAAeA,SAA6B;AAC1D,mBAAiBA;AACnB;AAEO,SAAS,mBAAmB,OAAsB;AACvD,iBAAe;AACjB;AAEO,SAAS,iBAA0B;AACxC,SAAO;AACT;AAEO,MAAM,SAAwB;AAAA,EACnC,MAAM,CAAA,aAAY,kBAAkB,eAAe,KAAK,OAAO;AAAA,EAC/D,MAAM,CAAA,aAAY,kBAAkB,eAAe,KAAK,OAAO;AAAA,EAC/D,OAAO,CAAA,aAAY,kBAAkB,eAAe,MAAM,OAAO;AAAA,EACjE,OAAO,CAAA,aAAY,kBAAkB,eAAe,MAAM,OAAO;AACnE;"}
@@ -0,0 +1,6 @@
1
+ import { Server } from 'node:http';
2
+ import { SideCarOptions, StartServerOptions } from './types/index.ts';
3
+ export declare function startServer(options: StartServerOptions): Promise<Server>;
4
+ export declare function setupSpotlight({ port, logger: customLogger, basePath, filesToServe, incomingPayload, isStandalone }?: SideCarOptions): Promise<Server | undefined>;
5
+ export declare function clearBuffer(): void;
6
+ export declare function setShutdownHandlers(server: Server): void;
@@ -0,0 +1,175 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { serve } from "@hono/node-server";
4
+ import { addEventProcessor, startSpan, getTraceData, captureException } from "@sentry/node";
5
+ import { Hono } from "hono";
6
+ import { cors } from "../node_modules/.pnpm/hono@4.10.3/node_modules/hono/dist/middleware/cors/index.js";
7
+ import { DEFAULT_PORT, SERVER_IDENTIFIER } from "./constants.js";
8
+ import { serveFilesHandler } from "./handlers/fileToServe.js";
9
+ import { activateLogger, logger } from "./logger.js";
10
+ import router from "./routes/index.js";
11
+ import { getBuffer } from "./utils/getBuffer.js";
12
+ import "./parser/helpers.js";
13
+ import "uuidv7";
14
+ import { isValidPort, isSidecarRunning, logSpotlightUrl } from "./utils/extras.js";
15
+ import { isAllowedOrigin } from "./utils/cors.js";
16
+ let portInUseRetryTimeout = null;
17
+ const MAX_RETRIES = 3;
18
+ async function startServer(options) {
19
+ const { port, basePath } = options;
20
+ let filesToServe = options.filesToServe;
21
+ if (!filesToServe && basePath) {
22
+ try {
23
+ filesToServe = {
24
+ "index.html": readFileSync(join(basePath, "index.html")),
25
+ "assets/main.js": readFileSync(join(basePath, "assets/main.js"))
26
+ };
27
+ } catch {
28
+ }
29
+ }
30
+ const app = new Hono().use(
31
+ cors({
32
+ origin: (origin) => isAllowedOrigin(origin) ? origin : null
33
+ })
34
+ );
35
+ app.use(async (ctx, next) => {
36
+ ctx.header("X-Powered-By", SERVER_IDENTIFIER);
37
+ ctx.set("basePath", options.basePath);
38
+ ctx.set("incomingPayload", options.incomingPayload);
39
+ const host = ctx.req.header("Host") || "localhost";
40
+ const path = ctx.req.path;
41
+ await startSpan(
42
+ {
43
+ name: `HTTP ${ctx.req.method} ${path}`,
44
+ op: `sidecar.http.${ctx.req.method?.toLowerCase()}`,
45
+ forceTransaction: true,
46
+ attributes: {
47
+ "http.request.method": ctx.req.method,
48
+ "http.request.url": ctx.req.url,
49
+ "http.request.query": ctx.req.query().toString(),
50
+ "server.address": host,
51
+ "server.port": ctx.env.incoming.socket.localPort
52
+ }
53
+ },
54
+ async (span) => {
55
+ const traceData = getTraceData();
56
+ ctx.header(
57
+ "server-timing",
58
+ [
59
+ `sentryTrace;desc="${traceData["sentry-trace"]}"`,
60
+ `baggage;desc="${traceData.baggage}"`,
61
+ `sentrySpotlightPort;desc=${ctx.env.incoming.socket.localPort}`
62
+ ].join(", ")
63
+ );
64
+ if (path === "/mcp" || path === "/health") {
65
+ await next();
66
+ } else {
67
+ await startSpan({ name: "enableCORS", op: "sidecar.http.middleware.cors" }, () => next());
68
+ }
69
+ span.setAttribute("http.response.status_code", ctx.res.status);
70
+ }
71
+ );
72
+ }).route("/", router);
73
+ if (filesToServe) {
74
+ app.get("/*", serveFilesHandler(filesToServe));
75
+ }
76
+ let resolve;
77
+ let reject;
78
+ const promise = new Promise((res, rej) => {
79
+ resolve = res;
80
+ reject = rej;
81
+ });
82
+ const server = serve(
83
+ {
84
+ fetch: app.fetch,
85
+ port
86
+ },
87
+ () => {
88
+ const realPort = server.address().port;
89
+ logger.info(`Spotlight listening on ${realPort}`);
90
+ if (basePath) {
91
+ logSpotlightUrl(realPort);
92
+ }
93
+ resolve(server);
94
+ }
95
+ );
96
+ server.addListener("error", handleServerError);
97
+ let retries = 0;
98
+ function handleServerError(err) {
99
+ if ("code" in err && err.code === "EADDRINUSE") {
100
+ logger.info(`Port ${options.port} in use, retrying...`);
101
+ server.close();
102
+ retries++;
103
+ if (retries > MAX_RETRIES) {
104
+ reject(err);
105
+ return;
106
+ }
107
+ if (portInUseRetryTimeout) {
108
+ clearTimeout(portInUseRetryTimeout);
109
+ }
110
+ portInUseRetryTimeout = setTimeout(() => {
111
+ server.listen(options.port);
112
+ }, 5e3);
113
+ portInUseRetryTimeout.unref();
114
+ } else {
115
+ captureException(err);
116
+ reject(err);
117
+ }
118
+ }
119
+ return promise;
120
+ }
121
+ async function setupSpotlight({ port, logger: customLogger, basePath, filesToServe, incomingPayload, isStandalone } = {
122
+ port: DEFAULT_PORT
123
+ }) {
124
+ if (!isStandalone) {
125
+ addEventProcessor((event) => event.spans?.some((span) => span.op?.startsWith("sidecar.")) ? null : event);
126
+ }
127
+ if (customLogger) {
128
+ activateLogger(customLogger);
129
+ }
130
+ if (port && !isValidPort(port)) {
131
+ throw new Error(`Invalid port number: ${port}. Must be between 1 and 65535, or 0 for automatic assignment.`);
132
+ }
133
+ if (port > 0 && await isSidecarRunning(port)) {
134
+ logger.info(`Spotlight is already running on port ${port}`);
135
+ const hasSpotlightUI = filesToServe && "index.html" in filesToServe || !filesToServe && basePath;
136
+ if (hasSpotlightUI) {
137
+ logSpotlightUrl(port);
138
+ }
139
+ return;
140
+ }
141
+ const serverInstance = await startServer({
142
+ port,
143
+ basePath,
144
+ filesToServe,
145
+ incomingPayload
146
+ });
147
+ setShutdownHandlers(serverInstance);
148
+ return serverInstance;
149
+ }
150
+ function clearBuffer() {
151
+ getBuffer().reset();
152
+ }
153
+ function setShutdownHandlers(server) {
154
+ let forceShutdown = false;
155
+ const shutdown = () => {
156
+ if (forceShutdown) {
157
+ logger.info("Bye.");
158
+ process.exit(0);
159
+ }
160
+ forceShutdown = true;
161
+ logger.info("Shutting down server gracefully...");
162
+ server.close();
163
+ server.closeAllConnections();
164
+ server.unref();
165
+ };
166
+ process.on("SIGINT", shutdown);
167
+ process.on("SIGTERM", shutdown);
168
+ }
169
+ export {
170
+ clearBuffer,
171
+ setShutdownHandlers,
172
+ setupSpotlight,
173
+ startServer
174
+ };
175
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sources":["../../src/server/main.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport type { Server } from \"node:http\";\nimport type { AddressInfo } from \"node:net\";\nimport { join } from \"node:path\";\nimport { serve } from \"@hono/node-server\";\nimport { addEventProcessor, captureException, getTraceData, startSpan } from \"@sentry/node\";\nimport { Hono } from \"hono\";\nimport { cors } from \"hono/cors\";\nimport { DEFAULT_PORT, SERVER_IDENTIFIER } from \"./constants.ts\";\nimport { serveFilesHandler } from \"./handlers/index.ts\";\nimport { activateLogger, logger } from \"./logger.ts\";\nimport routes from \"./routes/index.ts\";\nimport type { HonoEnv, SideCarOptions, StartServerOptions } from \"./types/index.ts\";\nimport { getBuffer, isAllowedOrigin, isSidecarRunning, isValidPort, logSpotlightUrl } from \"./utils/index.ts\";\n\nlet portInUseRetryTimeout: NodeJS.Timeout | null = null;\n\nconst MAX_RETRIES = 3;\nexport async function startServer(options: StartServerOptions): Promise<Server> {\n const { port, basePath } = options;\n let filesToServe = options.filesToServe;\n if (!filesToServe && basePath) {\n try {\n filesToServe = {\n \"index.html\": readFileSync(join(basePath, \"index.html\")),\n \"assets/main.js\": readFileSync(join(basePath, \"assets/main.js\")),\n };\n } catch {\n // pass -- no UI\n }\n }\n\n const app = new Hono<HonoEnv>().use(\n cors({\n origin: origin => (isAllowedOrigin(origin) ? origin : null),\n }),\n );\n\n app\n .use(async (ctx, next) => {\n ctx.header(\"X-Powered-By\", SERVER_IDENTIFIER);\n\n ctx.set(\"basePath\", options.basePath);\n ctx.set(\"incomingPayload\", options.incomingPayload);\n\n const host = ctx.req.header(\"Host\") || \"localhost\";\n const path = ctx.req.path;\n await startSpan(\n {\n name: `HTTP ${ctx.req.method} ${path}`,\n op: `sidecar.http.${ctx.req.method?.toLowerCase()}`,\n forceTransaction: true,\n attributes: {\n \"http.request.method\": ctx.req.method,\n \"http.request.url\": ctx.req.url,\n \"http.request.query\": ctx.req.query().toString(),\n \"server.address\": host,\n \"server.port\": ctx.env.incoming.socket.localPort,\n },\n },\n async span => {\n const traceData = getTraceData();\n ctx.header(\n \"server-timing\",\n [\n `sentryTrace;desc=\"${traceData[\"sentry-trace\"]}\"`,\n `baggage;desc=\"${traceData.baggage}\"`,\n `sentrySpotlightPort;desc=${ctx.env.incoming.socket.localPort}`,\n ].join(\", \"),\n );\n\n if (path === \"/mcp\" || path === \"/health\") {\n await next();\n } else {\n await startSpan({ name: \"enableCORS\", op: \"sidecar.http.middleware.cors\" }, () => next());\n }\n\n span.setAttribute(\"http.response.status_code\", ctx.res.status);\n },\n );\n })\n .route(\"/\", routes);\n\n if (filesToServe) {\n app.get(\"/*\", serveFilesHandler(filesToServe));\n }\n\n let resolve: (value: Server) => void;\n let reject!: (err: Error) => void;\n const promise = new Promise<Server>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n const server = serve(\n {\n fetch: app.fetch,\n port,\n },\n () => {\n const realPort = (server.address() as AddressInfo).port;\n logger.info(`Spotlight listening on ${realPort}`);\n if (basePath) {\n logSpotlightUrl(realPort);\n }\n resolve(server as Server);\n },\n );\n server.addListener(\"error\", handleServerError);\n\n let retries = 0;\n function handleServerError(err: { code?: string }): void {\n if (\"code\" in err && err.code === \"EADDRINUSE\") {\n logger.info(`Port ${options.port} in use, retrying...`);\n server.close();\n\n retries++;\n if (retries > MAX_RETRIES) {\n reject(err as Error);\n return;\n }\n\n if (portInUseRetryTimeout) {\n clearTimeout(portInUseRetryTimeout);\n }\n portInUseRetryTimeout = setTimeout(() => {\n server.listen(options.port);\n }, 5000);\n portInUseRetryTimeout.unref();\n } else {\n captureException(err);\n reject(err as Error);\n }\n }\n\n return promise;\n}\n\nexport async function setupSpotlight(\n { port, logger: customLogger, basePath, filesToServe, incomingPayload, isStandalone }: SideCarOptions = {\n port: DEFAULT_PORT,\n },\n): Promise<Server | undefined> {\n if (!isStandalone) {\n addEventProcessor(event => (event.spans?.some(span => span.op?.startsWith(\"sidecar.\")) ? null : event));\n }\n\n if (customLogger) {\n activateLogger(customLogger);\n }\n\n if (port && !isValidPort(port)) {\n throw new Error(`Invalid port number: ${port}. Must be between 1 and 65535, or 0 for automatic assignment.`);\n }\n\n if (port > 0 && (await isSidecarRunning(port))) {\n logger.info(`Spotlight is already running on port ${port}`);\n const hasSpotlightUI = (filesToServe && \"index.html\" in filesToServe) || (!filesToServe && basePath);\n if (hasSpotlightUI) {\n logSpotlightUrl(port);\n }\n return;\n }\n const serverInstance = await startServer({\n port,\n basePath,\n filesToServe,\n incomingPayload,\n });\n setShutdownHandlers(serverInstance);\n return serverInstance;\n}\n\nexport function clearBuffer(): void {\n getBuffer().reset();\n}\n\nexport function setShutdownHandlers(server: Server): void {\n let forceShutdown = false;\n const shutdown = () => {\n if (forceShutdown) {\n logger.info(\"Bye.\");\n process.exit(0);\n }\n\n forceShutdown = true;\n logger.info(\"Shutting down server gracefully...\");\n server.close();\n server.closeAllConnections();\n server.unref();\n };\n\n process.on(\"SIGINT\", shutdown);\n process.on(\"SIGTERM\", shutdown);\n}\n"],"names":["routes"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ export declare const NO_ERRORS_CONTENT: CallToolResult;
3
+ export declare const NO_LOGS_CONTENT: CallToolResult;
@@ -0,0 +1,79 @@
1
+ const NO_ERRORS_CONTENT = {
2
+ content: [
3
+ {
4
+ type: "text",
5
+ text: `**No errors detected in Spotlight**
6
+
7
+ **This means:**
8
+ - Application is currently running without runtime failures
9
+ - No crashes, exceptions, or critical issues in the recent timeframe
10
+ - System appears stable at the moment
11
+
12
+ **Next debugging steps:**
13
+
14
+ 1. **If user reports a specific issue:**
15
+ - Ask them to reproduce the problem (click the button, submit the form, navigate to the page)
16
+ - Run this tool again immediately after they reproduce it
17
+ - Errors will appear in real-time as they happen
18
+
19
+ 2. **If investigating existing code:**
20
+ - Check application logs separately
21
+ - Look for TODO comments, error handling gaps, or potential edge cases in the code
22
+ - Consider testing error scenarios (invalid inputs, network failures, etc.)
23
+
24
+ 3. **Proactive error detection:**
25
+ - Have user interact with recently changed features
26
+ - Test API endpoints or database operations that might be fragile
27
+ - Check pages/features mentioned in recent commits
28
+
29
+ ** Pro tip:** Absence of errors doesn't mean absence of bugs - it just means no runtime failures occurred recently. The issue might be logical errors, UI problems, or dormant bugs waiting for specific conditions.`
30
+ }
31
+ ]
32
+ };
33
+ const NO_LOGS_CONTENT = {
34
+ content: [
35
+ {
36
+ type: "text",
37
+ text: `**No logs detected in Spotlight**
38
+
39
+ **This means:**
40
+ - Application hasn't generated any log messages in the recent timeframe
41
+ - No debug, info, warning, or trace messages were captured
42
+ - Application might be idle or not actively processing requests
43
+
44
+ **Next debugging steps:**
45
+
46
+ 1. **If investigating application behavior:**
47
+ - Have user interact with the application (navigate pages, submit forms, trigger features)
48
+ - Run this tool again after user activity to capture runtime logs
49
+ - Logs appear in real-time as your application executes
50
+
51
+ 2. **If checking for specific functionality:**
52
+ - Trigger the feature or workflow you're investigating
53
+ - Look for custom logging statements in your code
54
+ - Consider adding more logging to critical paths if needed
55
+
56
+ 3. **If monitoring general health:**
57
+ - Check that logging is properly configured in your application
58
+ - Verify that Spotlight is correctly capturing your log output
59
+ - Test with known log-generating actions (API calls, database operations)
60
+
61
+ 4. **Expand search timeframe:**
62
+ - Use a longer duration (300+ seconds) to capture older log entries
63
+ - Consider that some operations might generate logs less frequently
64
+
65
+ **Log Levels to expect:**
66
+ - **INFO**: General application flow and significant events
67
+ - **WARN**: Potential issues or important notices
68
+ - **DEBUG**: Detailed execution information
69
+ - **ERROR**: Failures (also check search_errors tool)
70
+
71
+ **Pro tip:** Absence of logs doesn't mean your application isn't working - it might just be running quietly. Many applications only log during significant events, errors, or when explicitly configured for verbose logging.`
72
+ }
73
+ ]
74
+ };
75
+ export {
76
+ NO_ERRORS_CONTENT,
77
+ NO_LOGS_CONTENT
78
+ };
79
+ //# sourceMappingURL=constants.js.map