diff --git a/packages/spotlight/_fixtures/metrics/trace_metric_envelope.bin b/packages/spotlight/_fixtures/metrics/trace_metric_envelope.bin new file mode 100644 index 000000000..7d61b004e --- /dev/null +++ b/packages/spotlight/_fixtures/metrics/trace_metric_envelope.bin @@ -0,0 +1,3 @@ +{"sdk":{"name":"sentry.javascript.react","version":"10.34.0"}} +{"type":"trace_metric","item_count":12,"content_type":"application/vnd.sentry.items.trace-metric+json"} +{"items":[{"timestamp":1769353796.9620998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.button.clicked","type":"counter","value":1,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353796.9625998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.button2.clicked","type":"counter","value":1,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353797.2412999,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.button.clicked","type":"counter","value":1,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353797.2414,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.button2.clicked","type":"counter","value":1,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353797.5262,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.button.clicked","type":"counter","value":1,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353797.5263999,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.button2.clicked","type":"counter","value":1,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353798.102,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.random.value","type":"gauge","value":60,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353798.3725,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.random.value","type":"gauge","value":69,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353799.0937998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.response.time","type":"distribution","unit":"millisecond","value":125.4894445940432,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353799.2722998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.response.time","type":"distribution","unit":"millisecond","value":880.0890658738737,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353799.5245998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.response.time","type":"distribution","unit":"millisecond","value":350.38026520290623,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}},{"timestamp":1769353799.7902,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","name":"frontend.response.time","type":"distribution","unit":"millisecond","value":854.05904566557,"attributes":{"component":{"value":"SentryMetrics","type":"string"},"sentry.environment":{"value":"development","type":"string"},"sentry.sdk.name":{"value":"sentry.javascript.react","type":"string"},"sentry.sdk.version":{"value":"10.34.0","type":"string"},"sentry.replay_id":{"value":"e88e195d7a5249a2a0df5b3f2123816d","type":"string"}}}]} diff --git a/packages/spotlight/_fixtures/metrics/transaction_envelope.bin b/packages/spotlight/_fixtures/metrics/transaction_envelope.bin new file mode 100644 index 000000000..dbfc501b7 --- /dev/null +++ b/packages/spotlight/_fixtures/metrics/transaction_envelope.bin @@ -0,0 +1,3 @@ +{"event_id":"d794078088734aea9722f94912b4654d","sent_at":"2026-01-25T15:09:55.489Z","sdk":{"name":"sentry.javascript.react","version":"10.34.0"},"trace":{"environment":"development","trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","replay_id":"e88e195d7a5249a2a0df5b3f2123816d","sampled":"true","sample_rand":"0.7282764264866799","sample_rate":"1"}} +{"type":"transaction"} +{"contexts":{"trace":{"span_id":"92502bdd1423ef77","trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","data":{"sentry.origin":"auto.pageload.browser","sentry.op":"pageload","sentry.source":"url","sentry.sample_rate":1,"effectiveConnectionType":"4g","deviceMemory":"8 GB","hardwareConcurrency":"10","performance.timeOrigin":1769353794.3253999,"performance.activationStart":0,"lcp.element":"body","lcp.loadTime":0,"lcp.renderTime":156,"lcp.size":25488,"cls.source.1":"button.bg-gradient-to-r.from-blue-500.to-purple-600.text-white.font-semibold.py-3.px-8.rounded-lg.hover:from-blue-600.hover:to-purple-700.transition-all.duration-300.transform.hover:scale-105.shadow-lg","cls.source.2":"button.bg-gray-700.text-white.font-semibold.py-3.px-8.rounded-lg.hover:bg-gray-600.transition-all.duration-300.transform.hover:scale-105.shadow-lg.disabled:opacity-50.disabled:cursor-not-allowed.disabled:transform-none","cls.source.3":"div.container.mx-auto.px-4.py-8 > div.text-center.mt-12.text-gray-500","sentry.idle_span_finish_reason":"idleTimeout"},"op":"pageload","status":"ok","origin":"auto.pageload.browser"},"react":{"version":"19.2.3"}},"spans":[{"data":{"sentry.origin":"auto.http.browser","sentry.op":"http.client","url":"http://localhost:5001/api/users","type":"xhr","http.method":"GET","http.url":"http://localhost:5001/api/users","server.address":"localhost:5001","http.response.status_code":200,"network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.446,"http.request.domain_lookup_start":0,"http.request.domain_lookup_end":0,"http.request.connect_start":0,"http.request.secure_connection_start":0,"http.request.connection_end":0,"http.request.request_start":0,"http.request.response_start":0,"http.request.response_end":1769353794.4685998,"http.request.time_to_first_byte":0},"description":"GET http://localhost:5001/api/users","op":"http.client","parent_span_id":"92502bdd1423ef77","span_id":"a24a75d723981772","start_timestamp":1769353794.4442,"status":"ok","timestamp":1769353794.4731,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.http.browser"},{"data":{"sentry.origin":"auto.http.browser","sentry.op":"http.client","url":"http://localhost:5001/api/users","type":"xhr","http.method":"GET","http.url":"http://localhost:5001/api/users","server.address":"localhost:5001","http.response.status_code":200,"network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.446,"http.request.domain_lookup_start":0,"http.request.domain_lookup_end":0,"http.request.connect_start":0,"http.request.secure_connection_start":0,"http.request.connection_end":0,"http.request.request_start":0,"http.request.response_start":0,"http.request.response_end":1769353794.4685998,"http.request.time_to_first_byte":0},"description":"GET http://localhost:5001/api/users","op":"http.client","parent_span_id":"92502bdd1423ef77","span_id":"a6569f507f12e8e2","start_timestamp":1769353794.4459,"status":"ok","timestamp":1769353794.4737,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.http.browser"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.unloadEvent"},"description":"http://localhost:5174/","op":"browser.unloadEvent","parent_span_id":"92502bdd1423ef77","span_id":"8d390bd66408fe11","start_timestamp":1769353794.3560998,"timestamp":1769353794.3560998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.domContentLoadedEvent"},"description":"http://localhost:5174/","op":"browser.domContentLoadedEvent","parent_span_id":"92502bdd1423ef77","span_id":"be6875c0349d2822","start_timestamp":1769353794.4278,"timestamp":1769353794.4278,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.loadEvent"},"description":"http://localhost:5174/","op":"browser.loadEvent","parent_span_id":"92502bdd1423ef77","span_id":"a8129b816b26b367","start_timestamp":1769353794.4733999,"timestamp":1769353794.4734998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.connect"},"description":"http://localhost:5174/","op":"browser.connect","parent_span_id":"92502bdd1423ef77","span_id":"893ccf803cd4ca7c","start_timestamp":1769353794.3286998,"timestamp":1769353794.3286998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.cache"},"description":"http://localhost:5174/","op":"browser.cache","parent_span_id":"92502bdd1423ef77","span_id":"b20485298a323dd9","start_timestamp":1769353794.3286998,"timestamp":1769353794.3286998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.DNS"},"description":"http://localhost:5174/","op":"browser.DNS","parent_span_id":"92502bdd1423ef77","span_id":"b3afa17a7132be06","start_timestamp":1769353794.3286998,"timestamp":1769353794.3286998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.request"},"description":"http://localhost:5174/","op":"browser.request","parent_span_id":"92502bdd1423ef77","span_id":"9c03f0cae6e73414","start_timestamp":1769353794.3328,"timestamp":1769353794.3479,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.ui.browser.metrics","sentry.op":"browser.response"},"description":"http://localhost:5174/","op":"browser.response","parent_span_id":"92502bdd1423ef77","span_id":"a46a7e3dd03cdd13","start_timestamp":1769353794.3463998,"timestamp":1769353794.3479,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.ui.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":5667,"http.decoded_response_content_length":5667,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3588998,"http.request.domain_lookup_start":1769353794.3588998,"http.request.domain_lookup_end":1769353794.3588998,"http.request.connect_start":1769353794.3588998,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3588998,"http.request.request_start":1769353794.3745,"http.request.response_start":1769353794.375,"http.request.response_end":1769353794.3755999,"http.request.time_to_first_byte":0.04960000000149012},"description":"/src/main.tsx","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"9babd76aafe89aaa","start_timestamp":1769353794.3588998,"timestamp":1769353794.3755999,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":178928,"http.decoded_response_content_length":178928,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3588998,"http.request.domain_lookup_start":1769353794.3588998,"http.request.domain_lookup_end":1769353794.3588998,"http.request.connect_start":1769353794.3588998,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3588998,"http.request.request_start":1769353794.3744,"http.request.response_start":1769353794.3748999,"http.request.response_end":1769353794.3760998,"http.request.time_to_first_byte":0.0495},"description":"/@vite/client","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"89b3f5cb048f2008","start_timestamp":1769353794.3588998,"timestamp":1769353794.3760998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":111894,"http.decoded_response_content_length":111894,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3777997,"http.request.domain_lookup_start":1769353794.3777997,"http.request.domain_lookup_end":1769353794.3777997,"http.request.connect_start":1769353794.3777997,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3777997,"http.request.request_start":1769353794.3809,"http.request.response_start":1769353794.3813999,"http.request.response_end":1769353794.3835998,"http.request.time_to_first_byte":0.056},"description":"/@react-refresh","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"8dd4c0a53285770f","start_timestamp":1769353794.3778,"timestamp":1769353794.3836,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":1024,"http.decoded_response_content_length":1024,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.378,"http.request.domain_lookup_start":1769353794.378,"http.request.domain_lookup_end":1769353794.378,"http.request.connect_start":1769353794.378,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.378,"http.request.request_start":1769353794.3805,"http.request.response_start":1769353794.381,"http.request.response_end":1769353794.3815,"http.request.time_to_first_byte":0.05560000000149012},"description":"/node_modules/.vite/deps/react.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"b0c3de1cfa26f293","start_timestamp":1769353794.3779998,"timestamp":1769353794.3814998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":12375,"http.decoded_response_content_length":12375,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.378,"http.request.domain_lookup_start":1769353794.378,"http.request.domain_lookup_end":1769353794.378,"http.request.connect_start":1769353794.378,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.378,"http.request.request_start":1769353794.3804,"http.request.response_start":1769353794.381,"http.request.response_end":1769353794.3817,"http.request.time_to_first_byte":0.05560000000149012},"description":"/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"8f858beb286fb766","start_timestamp":1769353794.3779998,"timestamp":1769353794.3816998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":42197,"http.decoded_response_content_length":42197,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.378,"http.request.domain_lookup_start":1769353794.378,"http.request.domain_lookup_end":1769353794.378,"http.request.connect_start":1769353794.378,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.378,"http.request.request_start":1769353794.3841999,"http.request.response_start":1769353794.385,"http.request.response_end":1769353794.3855,"http.request.time_to_first_byte":0.059600000001490114},"description":"/src/index.css","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"afa109ed4593da93","start_timestamp":1769353794.3779998,"timestamp":1769353794.3854997,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":1005279,"http.decoded_response_content_length":1005279,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.378,"http.request.domain_lookup_start":1769353794.378,"http.request.domain_lookup_end":1769353794.378,"http.request.connect_start":1769353794.378,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.378,"http.request.request_start":1769353794.3805,"http.request.response_start":1769353794.381,"http.request.response_end":1769353794.386,"http.request.time_to_first_byte":0.05560000000149012},"description":"/node_modules/.vite/deps/react-dom_client.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"a22f858b5d6164b5","start_timestamp":1769353794.3779998,"timestamp":1769353794.3859997,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":1021181,"http.decoded_response_content_length":1021181,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.378,"http.request.domain_lookup_start":1769353794.378,"http.request.domain_lookup_end":1769353794.378,"http.request.connect_start":1769353794.378,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.378,"http.request.request_start":1769353794.3812997,"http.request.response_start":1769353794.3818998,"http.request.response_end":1769353794.3862,"http.request.time_to_first_byte":0.0565},"description":"/node_modules/.vite/deps/@sentry_react.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"a3b4637cf5e2b28f","start_timestamp":1769353794.3779998,"timestamp":1769353794.3861997,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":3478,"http.decoded_response_content_length":3478,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3781,"http.request.domain_lookup_start":1769353794.3781,"http.request.domain_lookup_end":1769353794.3781,"http.request.connect_start":1769353794.3781,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3781,"http.request.request_start":1769353794.3832998,"http.request.response_start":1769353794.3841,"http.request.response_end":1769353794.3847997,"http.request.time_to_first_byte":0.058699999995529654},"description":"/node_modules/vite/dist/client/env.mjs","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"93f0a10fe4d009c4","start_timestamp":1769353794.3781,"timestamp":1769353794.3848,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":30288,"http.decoded_response_content_length":30288,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3781,"http.request.domain_lookup_start":1769353794.3781,"http.request.domain_lookup_end":1769353794.3781,"http.request.connect_start":1769353794.3781,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3781,"http.request.request_start":1769353794.3835,"http.request.response_start":1769353794.3844,"http.request.response_end":1769353794.3853,"http.request.time_to_first_byte":0.059},"description":"/src/App.tsx","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"b0c1ef7c03a50c09","start_timestamp":1769353794.3781,"timestamp":1769353794.3853,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":7968,"http.decoded_response_content_length":7968,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3822,"http.request.domain_lookup_start":1769353794.3822,"http.request.domain_lookup_end":1769353794.3822,"http.request.connect_start":1769353794.3822,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3822,"http.request.request_start":1769353794.3827999,"http.request.response_start":1769353794.3839,"http.request.response_end":1769353794.3841999,"http.request.time_to_first_byte":0.0585},"description":"/node_modules/.vite/deps/chunk-G3PMV62Z.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"81d1a564ee02d472","start_timestamp":1769353794.3821998,"timestamp":1769353794.3841999,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":45564,"http.decoded_response_content_length":45564,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3822,"http.request.domain_lookup_start":1769353794.3822,"http.request.domain_lookup_end":1769353794.3822,"http.request.connect_start":1769353794.3822,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3822,"http.request.request_start":1769353794.3827,"http.request.response_start":1769353794.384,"http.request.response_end":1769353794.3847997,"http.request.time_to_first_byte":0.05860000000149011},"description":"/node_modules/.vite/deps/chunk-WUR7D6NS.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"b4a651295e99196a","start_timestamp":1769353794.3821998,"timestamp":1769353794.3847997,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":14990,"http.decoded_response_content_length":14990,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3874,"http.request.domain_lookup_start":1769353794.3874,"http.request.domain_lookup_end":1769353794.3874,"http.request.connect_start":1769353794.3874,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3874,"http.request.request_start":1769353794.389,"http.request.response_start":1769353794.39,"http.request.response_end":1769353794.3906,"http.request.time_to_first_byte":0.06460000000149012},"description":"/src/components/UserForm.tsx","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"b62b881a7c8042ed","start_timestamp":1769353794.3874,"timestamp":1769353794.3906,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":14132,"http.decoded_response_content_length":14132,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3875,"http.request.domain_lookup_start":1769353794.3875,"http.request.domain_lookup_end":1769353794.3875,"http.request.connect_start":1769353794.3875,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3875,"http.request.request_start":1769353794.3897998,"http.request.response_start":1769353794.3907998,"http.request.response_end":1769353794.391,"http.request.time_to_first_byte":0.06539999999850989},"description":"/src/components/UserList.tsx","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"9f5f788a44a9d2c2","start_timestamp":1769353794.3874998,"timestamp":1769353794.3909998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":46144,"http.decoded_response_content_length":46144,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3875,"http.request.domain_lookup_start":1769353794.3875,"http.request.domain_lookup_end":1769353794.3875,"http.request.connect_start":1769353794.3875,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3875,"http.request.request_start":1769353794.3900998,"http.request.response_start":1769353794.3909,"http.request.response_end":1769353794.3913999,"http.request.time_to_first_byte":0.0655},"description":"/src/components/SpotlightDemo.tsx","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"a8860080d6075077","start_timestamp":1769353794.3874998,"timestamp":1769353794.3913999,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":52769,"http.decoded_response_content_length":52769,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3875,"http.request.domain_lookup_start":1769353794.3875,"http.request.domain_lookup_end":1769353794.3875,"http.request.connect_start":1769353794.3875,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3875,"http.request.request_start":1769353794.3897,"http.request.response_start":1769353794.3904,"http.request.response_end":1769353794.3912997,"http.request.time_to_first_byte":0.065},"description":"/src/components/SentryMetrics.tsx","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"8677e4257206a32a","start_timestamp":1769353794.3874998,"timestamp":1769353794.3912997,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":4518,"http.decoded_response_content_length":4518,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3876,"http.request.domain_lookup_start":1769353794.3899,"http.request.domain_lookup_end":1769353794.3899,"http.request.connect_start":1769353794.3899,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3900998,"http.request.request_start":1769353794.3902,"http.request.response_start":1769353794.3911,"http.request.response_end":1769353794.3915,"http.request.time_to_first_byte":0.06569999999552965},"description":"/src/services/api.ts","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"88bf8dc10558040c","start_timestamp":1769353794.3876,"timestamp":1769353794.3915,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":84037,"http.decoded_response_content_length":84037,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3917997,"http.request.domain_lookup_start":1769353794.3917997,"http.request.domain_lookup_end":1769353794.3917997,"http.request.connect_start":1769353794.3917997,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3917997,"http.request.request_start":1769353794.3922,"http.request.response_start":1769353794.3923,"http.request.response_end":1769353794.3927999,"http.request.time_to_first_byte":0.06689999999850989},"description":"/node_modules/.vite/deps/axios.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"92d60ba3c9cfde2e","start_timestamp":1769353794.3918,"timestamp":1769353794.3927999,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.script","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":0,"http.response_content_length":16214,"http.decoded_response_content_length":16214,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.3927999,"http.request.domain_lookup_start":1769353794.3927999,"http.request.domain_lookup_end":1769353794.3927999,"http.request.connect_start":1769353794.3927999,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.3927999,"http.request.request_start":1769353794.3932,"http.request.response_start":1769353794.3935,"http.request.response_end":1769353794.3935997,"http.request.time_to_first_byte":0.06810000000149012},"description":"/node_modules/.vite/deps/chunk-YF4B4G2L.js?v=19ab71f5","op":"resource.script","parent_span_id":"92502bdd1423ef77","span_id":"b69091fd7079ed93","start_timestamp":1769353794.3927999,"timestamp":1769353794.3935997,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"mark"},"description":"sentry-tracing-init","op":"mark","parent_span_id":"92502bdd1423ef77","span_id":"b2e81248312cecd1","start_timestamp":1769353794.4206998,"timestamp":1769353794.4206998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"measure","sentry.browser.measure.detail.devtools":"{\"properties\":[[\"Method name\",\"root.render()\"]],\"track\":\"Blocking\",\"trackGroup\":\"Scheduler ⚛\",\"color\":\"primary-light\"}"},"description":"Update","op":"measure","parent_span_id":"92502bdd1423ef77","span_id":"938173f29acbe3d9","start_timestamp":1769353794.4276,"timestamp":1769353794.4318,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"measure","sentry.browser.measure.detail.devtools":"{\"properties\":[[\"Component name\",\"App\"],[\"Method name\",\"setState()\"]],\"track\":\"Blocking\",\"trackGroup\":\"Scheduler ⚛\",\"color\":\"error\"}"},"description":"Cascading Update","op":"measure","parent_span_id":"92502bdd1423ef77","span_id":"8cbf5aea35aba23a","start_timestamp":1769353794.4459999,"timestamp":1769353794.4464,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"mark"},"description":"@grammarly-extension:checkScriptInitStart","op":"mark","parent_span_id":"92502bdd1423ef77","span_id":"b071c1501c1d4c2a","start_timestamp":1769353794.4680998,"timestamp":1769353794.4680998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"measure","sentry.browser.measure.detail.devtools":"{\"properties\":[[\"Component name\",\"App\"],[\"Method name\",\"setState()\"]],\"track\":\"Blocking\",\"trackGroup\":\"Scheduler ⚛\",\"color\":\"primary-light\"}"},"description":"Update","op":"measure","parent_span_id":"92502bdd1423ef77","span_id":"914b81c2de10c586","start_timestamp":1769353794.4733,"timestamp":1769353794.4743,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"resource.other","url.scheme":"http","server.address":"localhost:5174","url.same_origin":true,"http.response.status_code":200,"http.response_transfer_size":300,"http.response_content_length":1497,"http.decoded_response_content_length":1497,"resource.render_blocking_status":"non-blocking","http.response_delivery_type":"cache","network.protocol.version":"unknown","network.protocol.name":"","http.request.redirect_start":0,"http.request.redirect_end":0,"http.request.worker_start":0,"http.request.fetch_start":1769353794.4775999,"http.request.domain_lookup_start":1769353794.4775999,"http.request.domain_lookup_end":1769353794.4775999,"http.request.connect_start":1769353794.4775999,"http.request.secure_connection_start":0,"http.request.connection_end":1769353794.4775999,"http.request.request_start":1769353794.4787998,"http.request.response_start":1769353794.4805999,"http.request.response_end":1769353794.4812999,"http.request.time_to_first_byte":0.15519999999552966},"description":"/vite.svg","op":"resource.other","parent_span_id":"92502bdd1423ef77","span_id":"ad54d62e785dd752","start_timestamp":1769353794.4775999,"timestamp":1769353794.4812999,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"mark"},"description":"@grammarly-extension:checkScriptInitEnd","op":"mark","parent_span_id":"92502bdd1423ef77","span_id":"a78a12517f33855d","start_timestamp":1769353794.4798,"timestamp":1769353794.4798,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"paint"},"description":"first-paint","op":"paint","parent_span_id":"92502bdd1423ef77","span_id":"b18cd4ce7905262b","start_timestamp":1769353794.4813998,"timestamp":1769353794.4813998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"},{"data":{"sentry.origin":"auto.resource.browser.metrics","sentry.op":"paint"},"description":"first-contentful-paint","op":"paint","parent_span_id":"92502bdd1423ef77","span_id":"819bd573ac8a4df6","start_timestamp":1769353794.4813998,"timestamp":1769353794.4813998,"trace_id":"5becd2182ebd4b4bb5afe9fbc6b95866","origin":"auto.resource.browser.metrics"}],"start_timestamp":1769353794.3253999,"timestamp":1769353794.4813998,"transaction":"/","type":"transaction","request":{"url":"http://localhost:5174/","headers":{"Referer":"http://localhost:5174/","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"}},"transaction_info":{"source":"url"},"measurements":{"ttfb":{"value":21,"unit":"millisecond"},"lcp":{"value":156,"unit":"millisecond"},"cls":{"value":0.003798351872800402,"unit":""},"fp":{"value":156,"unit":"millisecond"},"fcp":{"value":156,"unit":"millisecond"},"connection.rtt":{"value":150,"unit":"millisecond"},"ttfb.requestTime":{"value":13.600000001490116,"unit":"millisecond"}},"platform":"javascript","event_id":"d794078088734aea9722f94912b4654d","environment":"development","sdk":{"integrations":["InboundFilters","FunctionToString","BrowserApiErrors","Breadcrumbs","GlobalHandlers","LinkedErrors","Dedupe","HttpContext","BrowserSession","SpotlightBrowser","BrowserTracing","Replay","ConsoleLogs"],"name":"sentry.javascript.react","version":"10.34.0","packages":[{"name":"npm:@sentry/react","version":"10.34.0"}],"settings":{"infer_ip":"never"}},"breadcrumbs":[{"timestamp":1769353794.472,"category":"xhr","data":{"method":"GET","url":"http://localhost:5001/api/users","status_code":200,"response_body_size":195},"type":"http"},{"timestamp":1769353794.473,"category":"xhr","data":{"method":"GET","url":"http://localhost:5001/api/users","status_code":200,"response_body_size":195},"type":"http"}],"tags":{"replayId":"e88e195d7a5249a2a0df5b3f2123816d"}} \ No newline at end of file diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 33d65ca84..59e3e8a6b 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -32,9 +32,7 @@ "test:e2e:electron": "playwright test tests/electron.test.ts", "sample": "node ./_fixtures/send_to_sidecar.cjs" }, - "files": [ - "dist" - ], + "files": ["dist"], "bin": { "spotlight": "./dist/run.js" }, @@ -79,9 +77,9 @@ "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-tooltip": "^1.2.7", - "@sentry/browser": "^10.31.0", + "@sentry/browser": "^10.36.0", "@sentry/electron": "^7.5.0", - "@sentry/react": "^10.31.0", + "@sentry/react": "^10.36.0", "@sentry/vite-plugin": "^2.22.5", "@shikijs/transformers": "^3.13.0", "@tailwindcss/vite": "catalog:", diff --git a/packages/spotlight/src/server/cli/tail.ts b/packages/spotlight/src/server/cli/tail.ts index 7cc1a66e6..2032b607c 100644 --- a/packages/spotlight/src/server/cli/tail.ts +++ b/packages/spotlight/src/server/cli/tail.ts @@ -28,6 +28,7 @@ export const NAME_TO_TYPE_MAPPING: Record = Object.freeze({ traces: ["transaction", "span"], // profiles: ["profile"], logs: ["log"], + metrics: ["trace_metric"], attachments: ["attachment"], errors: ["event"], // sessions: ["session"], diff --git a/packages/spotlight/src/server/formatters/human/index.ts b/packages/spotlight/src/server/formatters/human/index.ts index a18039ad2..0fda0fbc2 100644 --- a/packages/spotlight/src/server/formatters/human/index.ts +++ b/packages/spotlight/src/server/formatters/human/index.ts @@ -1,11 +1,13 @@ -import { isErrorEvent, isLogEvent, isTraceEvent } from "../../parser/helpers.ts"; +import { isErrorEvent, isLogEvent, isMetricEvent, isTraceEvent } from "../../parser/helpers.ts"; import type { FormatterRegistry } from "../types.ts"; import { formatError } from "./errors.ts"; import { formatLog } from "./logs.ts"; +import { formatMetric } from "./metrics.ts"; import { formatTrace } from "./traces.ts"; export const formatters: FormatterRegistry = { event: { typeGuard: isErrorEvent, format: formatError }, log: { typeGuard: isLogEvent, format: formatLog }, + metric: { typeGuard: isMetricEvent, format: formatMetric }, transaction: { typeGuard: isTraceEvent, format: formatTrace }, }; diff --git a/packages/spotlight/src/server/formatters/human/metrics.ts b/packages/spotlight/src/server/formatters/human/metrics.ts new file mode 100644 index 000000000..fc15a4e4e --- /dev/null +++ b/packages/spotlight/src/server/formatters/human/metrics.ts @@ -0,0 +1,41 @@ +import type { Envelope } from "@sentry/core"; +import type { SentryMetricEvent, SentryMetricPayload } from "../../parser/index.ts"; +import { formatTimestamp } from "../utils.ts"; + +function formatSingleMetric(metric: SentryMetricPayload): string { + const parts: string[] = []; + + parts.push(`name=${metric.name}`); + parts.push(`type=${metric.type}`); + parts.push(`value=${metric.value}`); + + if (metric.unit) { + parts.push(`unit=${metric.unit}`); + } + + if (metric.trace_id) { + parts.push(`trace_id=${metric.trace_id}`); + } + + if (metric.span_id) { + parts.push(`span_id=${metric.span_id}`); + } + + if (metric.attributes) { + for (const [key, attr] of Object.entries(metric.attributes)) { + if (attr.value !== undefined && attr.value !== null) { + parts.push(`${key}=${attr.value}`); + } + } + } + + // Use metric timestamp as primary timestamp + const ts = formatTimestamp(metric.timestamp); + parts.push(`@${ts}`); + + return parts.join(" "); +} + +export function formatMetric(event: SentryMetricEvent, _envelopeHeader: Envelope[0]): string[] { + return event.items.map(formatSingleMetric); +} diff --git a/packages/spotlight/src/server/formatters/json/index.ts b/packages/spotlight/src/server/formatters/json/index.ts index a18039ad2..0fda0fbc2 100644 --- a/packages/spotlight/src/server/formatters/json/index.ts +++ b/packages/spotlight/src/server/formatters/json/index.ts @@ -1,11 +1,13 @@ -import { isErrorEvent, isLogEvent, isTraceEvent } from "../../parser/helpers.ts"; +import { isErrorEvent, isLogEvent, isMetricEvent, isTraceEvent } from "../../parser/helpers.ts"; import type { FormatterRegistry } from "../types.ts"; import { formatError } from "./errors.ts"; import { formatLog } from "./logs.ts"; +import { formatMetric } from "./metrics.ts"; import { formatTrace } from "./traces.ts"; export const formatters: FormatterRegistry = { event: { typeGuard: isErrorEvent, format: formatError }, log: { typeGuard: isLogEvent, format: formatLog }, + metric: { typeGuard: isMetricEvent, format: formatMetric }, transaction: { typeGuard: isTraceEvent, format: formatTrace }, }; diff --git a/packages/spotlight/src/server/formatters/json/metrics.ts b/packages/spotlight/src/server/formatters/json/metrics.ts new file mode 100644 index 000000000..3dc341b32 --- /dev/null +++ b/packages/spotlight/src/server/formatters/json/metrics.ts @@ -0,0 +1,6 @@ +import type { Envelope } from "@sentry/core"; +import type { SentryMetricEvent } from "../../parser/index.ts"; + +export function formatMetric(event: SentryMetricEvent, _envelopeHeader: Envelope[0]): string[] { + return [JSON.stringify(event)]; +} diff --git a/packages/spotlight/src/server/formatters/logfmt/index.ts b/packages/spotlight/src/server/formatters/logfmt/index.ts index a18039ad2..0fda0fbc2 100644 --- a/packages/spotlight/src/server/formatters/logfmt/index.ts +++ b/packages/spotlight/src/server/formatters/logfmt/index.ts @@ -1,11 +1,13 @@ -import { isErrorEvent, isLogEvent, isTraceEvent } from "../../parser/helpers.ts"; +import { isErrorEvent, isLogEvent, isMetricEvent, isTraceEvent } from "../../parser/helpers.ts"; import type { FormatterRegistry } from "../types.ts"; import { formatError } from "./errors.ts"; import { formatLog } from "./logs.ts"; +import { formatMetric } from "./metrics.ts"; import { formatTrace } from "./traces.ts"; export const formatters: FormatterRegistry = { event: { typeGuard: isErrorEvent, format: formatError }, log: { typeGuard: isLogEvent, format: formatLog }, + metric: { typeGuard: isMetricEvent, format: formatMetric }, transaction: { typeGuard: isTraceEvent, format: formatTrace }, }; diff --git a/packages/spotlight/src/server/formatters/logfmt/metrics.ts b/packages/spotlight/src/server/formatters/logfmt/metrics.ts new file mode 100644 index 000000000..06b54cb0a --- /dev/null +++ b/packages/spotlight/src/server/formatters/logfmt/metrics.ts @@ -0,0 +1,38 @@ +import type { Envelope } from "@sentry/core"; +import logfmt from "logfmt"; +import type { SentryMetricEvent, SentryMetricPayload } from "../../parser/index.ts"; +import { formatTimestamp } from "../utils.ts"; + +function formatSingleMetric(metric: SentryMetricPayload): string { + const data: Record = { + timestamp: formatTimestamp(metric.timestamp), + type: "trace_metric", + name: metric.name, + metric_type: metric.type, + value: metric.value, + }; + + if (metric.unit) { + data.unit = metric.unit; + } + + if (metric.trace_id) { + data.trace_id = metric.trace_id; + } + + if (metric.span_id) { + data.span_id = metric.span_id; + } + + if (metric.attributes) { + for (const [key, attr] of Object.entries(metric.attributes)) { + data[`attr.${key}`] = attr.value; + } + } + + return logfmt.stringify(data); +} + +export function formatMetric(event: SentryMetricEvent, _envelopeHeader: Envelope[0]): string[] { + return event.items.map(formatSingleMetric); +} diff --git a/packages/spotlight/src/server/formatters/md/index.ts b/packages/spotlight/src/server/formatters/md/index.ts index a18039ad2..0fda0fbc2 100644 --- a/packages/spotlight/src/server/formatters/md/index.ts +++ b/packages/spotlight/src/server/formatters/md/index.ts @@ -1,11 +1,13 @@ -import { isErrorEvent, isLogEvent, isTraceEvent } from "../../parser/helpers.ts"; +import { isErrorEvent, isLogEvent, isMetricEvent, isTraceEvent } from "../../parser/helpers.ts"; import type { FormatterRegistry } from "../types.ts"; import { formatError } from "./errors.ts"; import { formatLog } from "./logs.ts"; +import { formatMetric } from "./metrics.ts"; import { formatTrace } from "./traces.ts"; export const formatters: FormatterRegistry = { event: { typeGuard: isErrorEvent, format: formatError }, log: { typeGuard: isLogEvent, format: formatLog }, + metric: { typeGuard: isMetricEvent, format: formatMetric }, transaction: { typeGuard: isTraceEvent, format: formatTrace }, }; diff --git a/packages/spotlight/src/server/formatters/md/metrics.ts b/packages/spotlight/src/server/formatters/md/metrics.ts new file mode 100644 index 000000000..5a5ba1768 --- /dev/null +++ b/packages/spotlight/src/server/formatters/md/metrics.ts @@ -0,0 +1,32 @@ +import type { Envelope } from "@sentry/core"; +import type { SentryMetricEvent, SentryMetricPayload } from "../../parser/index.ts"; +import { formatTimestamp } from "../utils.ts"; + +function formatMetricRow(metric: SentryMetricPayload): string { + const timestamp = formatTimestamp(metric.timestamp); + const attributes = + metric.attributes && Object.keys(metric.attributes).length > 0 + ? Object.entries(metric.attributes) + .map(([key, attr]) => `${key}=${attr.value}`) + .join(", ") + : ""; + + const traceInfo = metric.trace_id ? metric.trace_id.substring(0, 8) : ""; + + return `| ${timestamp} | ${metric.name} | ${metric.type} | ${metric.value} | ${metric.unit ?? ""} | ${traceInfo} | ${attributes} |`; +} + +export function formatMetric(event: SentryMetricEvent, _envelopeHeader: Envelope[0]): string[] { + const lines: string[] = []; + + lines.push("## Metrics"); + lines.push(""); + lines.push("| Timestamp | Name | Type | Value | Unit | Trace | Attributes |"); + lines.push("|-----------|------|------|-------|------|-------|------------|"); + + for (const metric of event.items) { + lines.push(formatMetricRow(metric)); + } + + return lines; +} diff --git a/packages/spotlight/src/server/formatters/types.ts b/packages/spotlight/src/server/formatters/types.ts index be1e7109f..26e33b40e 100644 --- a/packages/spotlight/src/server/formatters/types.ts +++ b/packages/spotlight/src/server/formatters/types.ts @@ -1,11 +1,18 @@ import type { Envelope } from "@sentry/core"; -import type { SentryErrorEvent, SentryEvent, SentryLogEvent, SentryTransactionEvent } from "../parser/types.ts"; +import type { + SentryErrorEvent, + SentryEvent, + SentryLogEvent, + SentryMetricEvent, + SentryTransactionEvent, +} from "../parser/types.ts"; /** * Strongly-typed formatter functions (no type guards needed in implementation) */ export type ErrorFormatterFn = (event: SentryErrorEvent, envelopeHeader: Envelope[0]) => string[]; export type LogFormatterFn = (event: SentryLogEvent, envelopeHeader: Envelope[0]) => string[]; +export type MetricFormatterFn = (event: SentryMetricEvent, envelopeHeader: Envelope[0]) => string[]; export type TraceFormatterFn = (event: SentryTransactionEvent, envelopeHeader: Envelope[0]) => string[]; /** @@ -22,6 +29,7 @@ export type FormatterEntry = { export type FormatterRegistry = { event: FormatterEntry; log: FormatterEntry; + metric: FormatterEntry; transaction: FormatterEntry; }; diff --git a/packages/spotlight/src/server/mcp/constants.ts b/packages/spotlight/src/server/mcp/constants.ts index 9f2c92521..91a395579 100644 --- a/packages/spotlight/src/server/mcp/constants.ts +++ b/packages/spotlight/src/server/mcp/constants.ts @@ -75,3 +75,45 @@ export const NO_LOGS_CONTENT: CallToolResult = { }, ], }; + +export const NO_METRICS_CONTENT: CallToolResult = { + content: [ + { + type: "text", + text: `**No metrics detected in Spotlight** + +**This means:** +- Application hasn't generated any metrics in the recent timeframe +- No counter, gauge, or distribution metrics were captured +- Application might not be instrumented with Sentry metrics SDK + +**Next debugging steps:** + +1. **If investigating application metrics:** + - Ensure your Sentry SDK has metrics enabled (JavaScript 10.25.0+, Python 2.44.0+) + - Verify metrics are being sent via \`trace_metric\` envelope items + - Check that Spotlight is correctly capturing metric envelopes + +2. **If checking for specific functionality:** + - Trigger the feature or workflow you're investigating + - Look for custom metric instrumentation in your code + - Consider adding metrics to critical paths if needed + +3. **If monitoring general health:** + - Check that metrics SDK is properly configured + - Verify that metrics are being emitted (check SDK logs) + - Test with known metric-generating actions (API calls, database operations) + +4. **Expand search timeframe:** + - Use a longer duration (300+ seconds) to capture older metrics + - Consider that some operations might generate metrics less frequently + +**Metric Types Available:** +- **COUNTER**: Incrementing counts (e.g., request counts) +- **GAUGE**: Fluctuating values (e.g., queue depth) +- **DISTRIBUTION**: Statistical distributions (e.g., response times) + +**Pro tip:** Metrics are trace-connected in Sentry - every metric can be linked to a trace for enhanced debugging. This is Sentry's key differentiator for metrics!`, + }, + ], +}; diff --git a/packages/spotlight/src/server/mcp/mcp.ts b/packages/spotlight/src/server/mcp/mcp.ts index feee555c2..485f0f78d 100644 --- a/packages/spotlight/src/server/mcp/mcp.ts +++ b/packages/spotlight/src/server/mcp/mcp.ts @@ -11,7 +11,8 @@ import { renderSpanTree, } from "../formatters/md/traces.ts"; import { getBuffer } from "../utils/index.ts"; -import { NO_ERRORS_CONTENT, NO_LOGS_CONTENT } from "./constants.ts"; +import { NO_ERRORS_CONTENT, NO_LOGS_CONTENT, NO_METRICS_CONTENT } from "./constants.ts"; +import { queryMetrics } from "./tools/metrics.ts"; const inputSchema = { filters: z.union([ @@ -439,5 +440,127 @@ get_traces({ traceId: "71a8c5e41ae1044dee67f50a07538fe7" }) }, ); + mcp.registerTool( + "query_metrics", + { + title: "Query Metrics", + description: `**Purpose:** Query metrics from collected telemetry. Returns all metrics when called without filters, or filter by name, type, trace ID, or time window. + +**Returns:** +• List of metric samples (all or filtered) +• Full metric payloads with attributes +• Trace correlation information + +**When to use:** +- Getting all available metrics (no filters) +- Finding metrics by name or type +- Filtering metrics by trace ID +- Getting metrics within a time window + +**Example calls:** +\`\`\`json +// Get all metrics +query_metrics({}) + +// Query by name +query_metrics({ name: "api.response_time" }) + +// Query by type +query_metrics({ type: "distribution" }) + +// Query by trace ID +query_metrics({ traceId: "71a8c5e4" }) + +// Query with time window (last 5 minutes) +query_metrics({ timeWindow: 300 }) + +// Combined filters +query_metrics({ name: "api", type: "counter", limit: 10 }) +\`\`\` + +**Parameter hints:** +• name: Metric name (exact or partial match) +• type: Metric type (counter, gauge, distribution) +• traceId: Trace ID to filter by +• timeWindow: Seconds to look back (60 = 1 min, 300 = 5 min) +• limit: Maximum number of results to return`, + inputSchema: { + name: z.string().optional().describe("Metric name to filter by (exact or partial match)"), + type: z.enum(["counter", "gauge", "distribution"]).optional().describe("Metric type to filter by"), + traceId: z.string().optional().describe("Trace ID to filter metrics by"), + timeWindow: z + .number() + .optional() + .describe("Number of seconds to look back from now. Examples: 60 = last minute, 300 = last 5 minutes"), + limit: z.number().optional().describe("Maximum number of results to return"), + }, + }, + async args => { + try { + const metrics = queryMetrics({ + name: args.name, + type: args.type, + traceId: args.traceId, + timeWindow: args.timeWindow, + limit: args.limit, + }); + + if (metrics.length === 0) { + return NO_METRICS_CONTENT; + } + + const content: TextContent[] = [ + { + type: "text", + text: `# Metrics Query Results (${metrics.length} found)\n\n`, + }, + ]; + + for (const metric of metrics) { + const timestamp = new Date(metric.timestamp * 1000).toISOString(); + let metricText = `## ${metric.name}\n`; + metricText += `- **Type:** ${metric.type}\n`; + const valueStr = + metric.unit && metric.unit !== "none" + ? `${metric.value.toLocaleString()} ${metric.unit}` + : metric.value.toLocaleString(); + metricText += `- **Value:** ${valueStr}\n`; + metricText += `- **Timestamp:** ${timestamp}\n`; + if (metric.trace_id) { + metricText += `- **Trace ID:** ${metric.trace_id}\n`; + } + if (metric.span_id) { + metricText += `- **Span ID:** ${metric.span_id}\n`; + } + if (metric.attributes && Object.keys(metric.attributes).length > 0) { + metricText += "- **Attributes:**\n"; + for (const [key, attr] of Object.entries(metric.attributes)) { + const value = typeof attr === "object" && "value" in attr ? attr.value : attr; + metricText += ` - ${key}: ${value}\n`; + } + } + metricText += "\n"; + + content.push({ + type: "text", + text: metricText, + }); + } + + return { content }; + } catch (err) { + captureException(err, { extra: { context: "Error querying metrics in MCP" } }); + return { + content: [ + { + type: "text", + text: `Error querying metrics: ${err instanceof Error ? err.message : String(err)}`, + }, + ], + }; + } + }, + ); + return mcp; } diff --git a/packages/spotlight/src/server/mcp/tools/metrics.ts b/packages/spotlight/src/server/mcp/tools/metrics.ts new file mode 100644 index 000000000..4e70d2577 --- /dev/null +++ b/packages/spotlight/src/server/mcp/tools/metrics.ts @@ -0,0 +1,74 @@ +import type { SentryMetricPayload } from "../../parser/types.ts"; +import { getBuffer } from "../../utils/index.ts"; +import type { EventContainer } from "../../utils/index.ts"; + +/** + * Extract all metrics from envelopes + */ +function extractMetricsFromEnvelopes(envelopes: EventContainer[]): SentryMetricPayload[] { + const allMetrics: SentryMetricPayload[] = []; + + for (const envelope of envelopes) { + const parsed = envelope.getParsedEnvelope(); + if (!parsed) continue; + + const [, items] = parsed.envelope; + for (const [itemHeader, itemData] of items) { + if (itemHeader.type === "trace_metric" && itemData && typeof itemData === "object") { + const payload = itemData as { items?: SentryMetricPayload[] }; + if (payload.items && Array.isArray(payload.items)) { + allMetrics.push(...payload.items); + } + } + } + } + + return allMetrics; +} + +/** + * Query metrics with filters + */ +export function queryMetrics(filters: { + name?: string; + type?: string; + traceId?: string; + timeWindow?: number; + limit?: number; +}): SentryMetricPayload[] { + const envelopes = getBuffer().read( + filters.timeWindow + ? { + timeWindow: filters.timeWindow, + } + : { all: true }, + ); + + const allMetrics = extractMetricsFromEnvelopes(envelopes); + + // Apply filters + let filtered = allMetrics; + + if (filters.name) { + const nameFilter = filters.name; + filtered = filtered.filter(m => m.name === nameFilter || m.name.includes(nameFilter)); + } + + if (filters.type) { + filtered = filtered.filter(m => m.type === filters.type); + } + + if (filters.traceId) { + const traceIdFilter = filters.traceId; + filtered = filtered.filter(m => m.trace_id === traceIdFilter || (m.trace_id?.startsWith(traceIdFilter) ?? false)); + } + + // Sort by timestamp (newest first) and apply limit + filtered.sort((a, b) => b.timestamp - a.timestamp); + + if (filters.limit) { + filtered = filtered.slice(0, filters.limit); + } + + return filtered; +} diff --git a/packages/spotlight/src/server/parser/helpers.ts b/packages/spotlight/src/server/parser/helpers.ts index de08b3b5a..66e6945dc 100644 --- a/packages/spotlight/src/server/parser/helpers.ts +++ b/packages/spotlight/src/server/parser/helpers.ts @@ -2,6 +2,7 @@ import type { SentryErrorEvent, SentryEvent, SentryLogEvent, + SentryMetricEvent, SentryProfileV1Event, SentryTransactionEvent, } from "./types.ts"; @@ -10,11 +11,13 @@ export const ERROR_EVENT_TYPES = new Set(["event", "error"]); export const TRACE_EVENT_TYPES = new Set(["transaction"]); export const PROFILE_EVENT_TYPES = new Set(["profile"]); export const LOG_EVENT_TYPES = new Set(["log"]); +export const METRIC_EVENT_TYPES = new Set(["trace_metric"]); export const SUPPORTED_EVENT_TYPES = new Set([ ...ERROR_EVENT_TYPES, ...TRACE_EVENT_TYPES, ...PROFILE_EVENT_TYPES, ...LOG_EVENT_TYPES, + ...METRIC_EVENT_TYPES, ]); export function isErrorEvent(event: SentryEvent): event is SentryErrorEvent { @@ -35,3 +38,7 @@ export function isTraceEvent(event: SentryEvent): event is SentryTransactionEven export function isLogEvent(event: SentryEvent): event is SentryLogEvent { return !!event.type && LOG_EVENT_TYPES.has(event.type); } + +export function isMetricEvent(event: SentryEvent): event is SentryMetricEvent { + return !!event.type && METRIC_EVENT_TYPES.has(event.type); +} diff --git a/packages/spotlight/src/server/parser/types.ts b/packages/spotlight/src/server/parser/types.ts index 74a40f54f..595476cd1 100644 --- a/packages/spotlight/src/server/parser/types.ts +++ b/packages/spotlight/src/server/parser/types.ts @@ -1,4 +1,4 @@ -import type { EventEnvelopeHeaders, Measurements, SerializedLog } from "@sentry/core"; +import type { EventEnvelopeHeaders, Measurements, SerializedLog, SerializedMetric } from "@sentry/core"; export type RawEventContext = { /** @@ -289,9 +289,19 @@ export type SentryLogEvent = CommonEventAttrs & { items: Array; }; +export type SentryMetricPayload = SerializedMetric & { + id: string; +}; + +export type SentryMetricEvent = CommonEventAttrs & { + type: "trace_metric"; + items: SentryMetricPayload[]; +}; + export type SentryEvent = | SentryErrorEvent | SentryTransactionEvent | SentryProfileV1Event | SentryProfileV2ChunkEvent - | SentryLogEvent; + | SentryLogEvent + | SentryMetricEvent; diff --git a/packages/spotlight/src/ui/telemetry/components/TelemetrySidebar.tsx b/packages/spotlight/src/ui/telemetry/components/TelemetrySidebar.tsx index ccaeb800a..fda5bb191 100644 --- a/packages/spotlight/src/ui/telemetry/components/TelemetrySidebar.tsx +++ b/packages/spotlight/src/ui/telemetry/components/TelemetrySidebar.tsx @@ -14,6 +14,7 @@ interface TelemetrySidebarProps { errorCount: number; traceCount: number; logCount: number; + metricCount: number; isOnline: boolean; } @@ -45,7 +46,13 @@ function NavigationLink({ ); } -export default function TelemetrySidebar({ errorCount, traceCount, logCount, isOnline }: TelemetrySidebarProps) { +export default function TelemetrySidebar({ + errorCount, + traceCount, + logCount, + metricCount, + isOnline, +}: TelemetrySidebarProps) { const location = useLocation(); const pathname = location.pathname; const { getSidecarUrl } = useSpotlightContext(); @@ -122,6 +129,12 @@ export default function TelemetrySidebar({ errorCount, traceCount, logCount, isO isActive={isActive("errors")} /> + {/* Insights section */} + )} + + + + + + + + Filter by Metric Name + + {allMetricNames.map(name => ( + toggleNameFilter(name)} + className="truncate" + > + {name} + + ))} + + + + + {hasActiveFilters && ( +
+ {Array.from(selectedNames).map(name => ( + + {name} + + + ))} + +
+ )} + + + + {metricGroups.length === 0 ? ( + + ) : ( + metricGroups.map(group => { + const isExpanded = expandedSections.has(group.name); + + return ( + toggleSection(group.name)} + traceId={traceId} + selectedMetricId={metricId ? decodeURIComponent(metricId) : undefined} + selectedRef={selectedRef} + /> + ); + }) + )} + + {metricId && } + + ); +} + +function MetricSection({ + group, + isExpanded, + onToggle, + traceId, + selectedMetricId, + selectedRef, +}: { + group: MetricGroup; + isExpanded: boolean; + onToggle: () => void; + traceId?: string; + selectedMetricId?: string; + selectedRef: React.RefObject; +}) { + return ( +
+ + + {isExpanded && ( +
+
+ +
+ + {group.samples.map(sample => { + const isSelected = selectedMetricId === sample.id; + const ref = isSelected ? selectedRef : null; + + return ( +
+ +
+ ); + })} +
+ )} +
+ ); +} + +function MetricSampleItem({ + sample, + traceId, + isSelected, +}: { + sample: SentryMetricPayload; + traceId?: string; + isSelected: boolean; +}) { + const route = traceId + ? `/telemetry/traces/${traceId}/metrics/${encodeURIComponent(sample.id)}` + : `/telemetry/metrics/${encodeURIComponent(sample.id)}`; + + return ( + +
+ +
+ +
{getFormattedNumber(sample.value)}
+ +
+ {sample.trace_id && !traceId && ( + e.stopPropagation()} + className="text-primary-400 hover:text-primary-100 underline font-mono" + > + {truncateId(sample.trace_id)} + + )} + {sample.span_id && span {truncateId(sample.span_id)}} +
+ + ); +} + +function AggregateSummary({ group }: { group: MetricGroup }) { + const { aggregate, percentiles, type } = group; + const showPercentiles = (type === "gauge" || type === "distribution") && percentiles.size > 0; + + return ( +
+
+ Count: + {aggregate.count} +
+ {aggregate.sum !== undefined && ( +
+ Sum: + {getFormattedNumber(aggregate.sum)} +
+ )} + {aggregate.avg !== undefined && ( +
+ Avg: + {getFormattedNumber(aggregate.avg)} +
+ )} + {aggregate.min !== undefined && ( +
+ Min: + {getFormattedNumber(aggregate.min)} +
+ )} + {aggregate.max !== undefined && ( +
+ Max: + {getFormattedNumber(aggregate.max)} +
+ )} + {showPercentiles && ( + <> +
+ P50: + {getFormattedNumber(percentiles.get(50) ?? 0)} +
+
+ P90: + {getFormattedNumber(percentiles.get(90) ?? 0)} +
+
+ P95: + {getFormattedNumber(percentiles.get(95) ?? 0)} +
+ + )} +
+ ); +} diff --git a/packages/spotlight/src/ui/telemetry/components/metrics/components/MetricTypeBadge.tsx b/packages/spotlight/src/ui/telemetry/components/metrics/components/MetricTypeBadge.tsx new file mode 100644 index 000000000..1de15be4b --- /dev/null +++ b/packages/spotlight/src/ui/telemetry/components/metrics/components/MetricTypeBadge.tsx @@ -0,0 +1,21 @@ +import type { MetricType } from "@sentry/core"; +import { cn } from "@spotlight/ui/lib/cn"; + +export default function MetricTypeBadge({ type }: { type: MetricType }) { + const colors: Record = { + counter: "bg-blue-600/30 text-blue-300 border-blue-500/30", + gauge: "bg-green-600/30 text-green-300 border-green-500/30", + distribution: "bg-purple-600/30 text-purple-300 border-purple-500/30", + }; + + return ( + + {type} + + ); +} diff --git a/packages/spotlight/src/ui/telemetry/components/traces/TraceDetails/index.tsx b/packages/spotlight/src/ui/telemetry/components/traces/TraceDetails/index.tsx index a47d6b6ed..21bb2c962 100644 --- a/packages/spotlight/src/ui/telemetry/components/traces/TraceDetails/index.tsx +++ b/packages/spotlight/src/ui/telemetry/components/traces/TraceDetails/index.tsx @@ -13,6 +13,7 @@ import EventList from "../../events/EventList"; import AITraceSplitView from "../../insights/aiTraces/AITraceSplitView"; import { hasAISpans } from "../../insights/aiTraces/sdks/aiLibraries"; import LogsList from "../../log/LogsList"; +import MetricsList from "../../metrics/MetricsList"; import DateTime from "../../shared/DateTime"; import EmptyState from "../../shared/EmptyState"; import TraceProfileTree from "./components/TraceProfileTree"; @@ -88,6 +89,8 @@ export default function TraceDetails({ trace, aiConfig }: TraceDetailsProps) { const events = useSentryEvents(trace.trace_id); const profile = useSentryStore.getState().getProfileByTraceId(trace.trace_id); + const getMetricsByTraceId = useSentryStore.getState().getMetricsByTraceId; + const metrics = getMetricsByTraceId(trace.trace_id); const errorCount = useMemo(() => events.reduce((len, e) => (isErrorEvent(e) ? len + 1 : len), 0), [events]); const tabs = [ @@ -99,6 +102,11 @@ export default function TraceDetails({ trace, aiConfig }: TraceDetailsProps) { severe: errorCount > 0, }, }), + createTab("metrics", "Metrics", { + notificationCount: { + count: metrics.length, + }, + }), ]; if (profile) { @@ -118,6 +126,8 @@ export default function TraceDetails({ trace, aiConfig }: TraceDetailsProps) { } /> } /> } /> + } /> + } /> {profile && } />} {/* Default tab */} } /> diff --git a/packages/spotlight/src/ui/telemetry/constants/sentry.ts b/packages/spotlight/src/ui/telemetry/constants/sentry.ts index f42d06300..e97a75b4a 100644 --- a/packages/spotlight/src/ui/telemetry/constants/sentry.ts +++ b/packages/spotlight/src/ui/telemetry/constants/sentry.ts @@ -2,10 +2,12 @@ export const ERROR_EVENT_TYPES = new Set(["event", "error"]); export const TRACE_EVENT_TYPES = new Set(["transaction"]); export const PROFILE_EVENT_TYPES = new Set(["profile", "profile_chunk"]); export const LOG_EVENT_TYPES = new Set(["log"]); +export const METRIC_EVENT_TYPES = new Set(["trace_metric"]); export const ATTACHMENT_EVENT_TYPES = new Set(["attachment"]); export const SUPPORTED_EVENT_TYPES = new Set([ ...ERROR_EVENT_TYPES, ...TRACE_EVENT_TYPES, ...PROFILE_EVENT_TYPES, ...LOG_EVENT_TYPES, + ...METRIC_EVENT_TYPES, ]); diff --git a/packages/spotlight/src/ui/telemetry/store/slices/eventsSlice.ts b/packages/spotlight/src/ui/telemetry/store/slices/eventsSlice.ts index 79a8341e5..88fe91a99 100644 --- a/packages/spotlight/src/ui/telemetry/store/slices/eventsSlice.ts +++ b/packages/spotlight/src/ui/telemetry/store/slices/eventsSlice.ts @@ -1,12 +1,20 @@ import { generateUuidv4 } from "@spotlight/ui/lib/uuid"; import type { StateCreator } from "zustand"; import { graftProfileSpans } from "../../data/profiles"; -import type { SentryEvent, SentryLogEventItem } from "../../types"; +import type { SentryEvent, SentryLogEventItem, SentryMetricPayload } from "../../types"; import type { SentryTransactionEvent } from "../../types"; -import { isErrorEvent, isLogEvent, isProfileChunkEvent, isProfileEvent, isTraceEvent } from "../../utils/sentry"; +import { + isErrorEvent, + isLogEvent, + isMetricEvent, + isProfileChunkEvent, + isProfileEvent, + isTraceEvent, +} from "../../utils/sentry"; import type { EventsSliceActions, EventsSliceState, SentryProfileWithTraceMeta, SentryStore } from "../types"; import { toTimestamp } from "../utils"; import { processLogItems } from "../utils/logProcessor"; +import { processMetricItems } from "../utils/metricProcessor"; import { mergeChunksToProfile, processProfileChunkEvent } from "../utils/profileChunkProcessor"; import { processProfileEvent } from "../utils/profileProcessor"; import { initializeTrace } from "../utils/traceInitializer"; @@ -64,6 +72,31 @@ export const createEventsSlice: StateCreator(); + metricSet.add(metric); + newMetricsByTraceId.set(metric.trace_id, metricSet); + } + + const metricsWithName = newMetricsByName.get(metric.name) || []; + metricsWithName.push(metric); + newMetricsByName.set(metric.name, metricsWithName); + } + + set({ metricsById: newMetricsById, metricsByTraceId: newMetricsByTraceId, metricsByName: newMetricsByName }); + } + const { eventsById } = get(); const newEventIds = new Map(eventsById); newEventIds.set(event.event_id, event); diff --git a/packages/spotlight/src/ui/telemetry/store/slices/metricsSlice.ts b/packages/spotlight/src/ui/telemetry/store/slices/metricsSlice.ts new file mode 100644 index 000000000..3fd94c754 --- /dev/null +++ b/packages/spotlight/src/ui/telemetry/store/slices/metricsSlice.ts @@ -0,0 +1,25 @@ +import type { StateCreator } from "zustand"; +import type { MetricsSliceActions, MetricsSliceState, SentryStore } from "../types"; + +const initialMetricsState: MetricsSliceState = { + metricsById: new Map(), + metricsByTraceId: new Map(), + metricsByName: new Map(), +}; + +export const createMetricsSlice: StateCreator = ( + _set, + get, +) => ({ + ...initialMetricsState, + getMetricById: (id: string) => get().metricsById.get(id), + getMetrics: () => Array.from(get().metricsById.values()), + getMetricsByTraceId: (traceId: string) => { + const metricsByTraceId = get().metricsByTraceId.get(traceId); + return metricsByTraceId ? Array.from(metricsByTraceId) : []; + }, + getMetricsByName: (name: string) => { + return get().metricsByName.get(name) || []; + }, + getMetricNames: () => Array.from(get().metricsByName.keys()), +}); diff --git a/packages/spotlight/src/ui/telemetry/store/slices/sharedSlice.ts b/packages/spotlight/src/ui/telemetry/store/slices/sharedSlice.ts index 29a8dedbf..7de60df8b 100644 --- a/packages/spotlight/src/ui/telemetry/store/slices/sharedSlice.ts +++ b/packages/spotlight/src/ui/telemetry/store/slices/sharedSlice.ts @@ -64,6 +64,9 @@ export const createSharedSlice: StateCreator()((...a) => ({ ...createEnvelopesSlice(...a), ...createSDKsSlice(...a), ...createLogsSlice(...a), + ...createMetricsSlice(...a), ...createSharedSlice(...a), })); diff --git a/packages/spotlight/src/ui/telemetry/store/types.ts b/packages/spotlight/src/ui/telemetry/store/types.ts index b0159a92d..b928f08f8 100644 --- a/packages/spotlight/src/ui/telemetry/store/types.ts +++ b/packages/spotlight/src/ui/telemetry/store/types.ts @@ -5,6 +5,7 @@ import type { SentryErrorEvent, SentryEvent, SentryLogEventItem, + SentryMetricPayload, SentryProcessedProfile, Trace, } from "../types"; @@ -91,6 +92,20 @@ export interface LogsSliceActions { getLogsByTraceId: (traceId: string) => SentryLogEventItem[]; } +export interface MetricsSliceState { + metricsById: Map; + metricsByTraceId: Map>; + metricsByName: Map; +} + +export interface MetricsSliceActions { + getMetricById: (id: string) => SentryMetricPayload | undefined; + getMetrics: () => SentryMetricPayload[]; + getMetricsByTraceId: (traceId: string) => SentryMetricPayload[]; + getMetricsByName: (name: string) => SentryMetricPayload[]; + getMetricNames: () => string[]; +} + export interface SDKsSliceActions { inferSdkFromEvent: (event: SentryEvent) => Sdk; storeSdkRecord: (sdk: Sdk) => Sdk; @@ -112,6 +127,7 @@ export type SentryStoreState = EventsSliceState & SettingsSliceState & EnvelopesSliceState & LogsSliceState & + MetricsSliceState & SDKsSliceState; export type SentryStoreActions = EventsSliceActions & @@ -121,6 +137,7 @@ export type SentryStoreActions = EventsSliceActions & SettingsSliceActions & EnvelopesSliceActions & LogsSliceActions & + MetricsSliceActions & SDKsSliceActions & SharedSliceActions; diff --git a/packages/spotlight/src/ui/telemetry/store/utils/metricProcessor.ts b/packages/spotlight/src/ui/telemetry/store/utils/metricProcessor.ts new file mode 100644 index 000000000..2eaef2717 --- /dev/null +++ b/packages/spotlight/src/ui/telemetry/store/utils/metricProcessor.ts @@ -0,0 +1,31 @@ +import { generateUuidv4 } from "@spotlight/ui/lib/uuid"; +import type { SentryMetricEvent, SentryMetricPayload } from "../../types"; + +export interface MetricProcessingResult { + processedMetrics: SentryMetricPayload[]; +} + +/** + * Processes metric items from a metric event, adding id fields for UI tracking. + * @param event The metric event to process + * @returns Processed metric items ready to be stored + */ +export function processMetricItems(event: SentryMetricEvent): MetricProcessingResult { + const processedMetrics: SentryMetricPayload[] = []; + + if (!event.items?.length) { + return { processedMetrics }; + } + + for (const metric of event.items) { + // Generate a unique ID for each metric if not present + const metricId = metric.id || generateUuidv4(); + + processedMetrics.push({ + ...metric, + id: metricId, + }); + } + + return { processedMetrics }; +} diff --git a/packages/spotlight/src/ui/telemetry/tabs/MetricsTab.tsx b/packages/spotlight/src/ui/telemetry/tabs/MetricsTab.tsx new file mode 100644 index 000000000..58e99b8f9 --- /dev/null +++ b/packages/spotlight/src/ui/telemetry/tabs/MetricsTab.tsx @@ -0,0 +1,18 @@ +import { Route, Routes } from "react-router-dom"; +import MetricsList from "../components/metrics/MetricsList"; +import { SentryEventsContextProvider } from "../data/sentryEventsContext"; + +export default function MetricsTab() { + return ( + +
+
+ + } /> + } /> + +
+
+
+ ); +} diff --git a/packages/spotlight/src/ui/telemetry/types.ts b/packages/spotlight/src/ui/telemetry/types.ts index 0ad878de1..daea1d96c 100644 --- a/packages/spotlight/src/ui/telemetry/types.ts +++ b/packages/spotlight/src/ui/telemetry/types.ts @@ -1,4 +1,4 @@ -import type { EnvelopeItem, EventEnvelopeHeaders, Measurements, SerializedLog } from "@sentry/core"; +import type { EnvelopeItem, EventEnvelopeHeaders, Measurements, SerializedLog, SerializedMetric } from "@sentry/core"; import type { ColorValue } from "nanovis"; export type TraceId = string; @@ -276,12 +276,22 @@ export type SentryLogEvent = CommonEventAttrs & { items: Array; }; +export type SentryMetricPayload = SerializedMetric & { + id: string; +}; + +export type SentryMetricEvent = CommonEventAttrs & { + type: "trace_metric"; + items: SentryMetricPayload[]; +}; + export type SentryEvent = | SentryErrorEvent | SentryTransactionEvent | SentryProfileV1Event | SentryProfileV2ChunkEvent - | SentryLogEvent; + | SentryLogEvent + | SentryMetricEvent; export type Trace = TraceContext & { trace_id: string; diff --git a/packages/spotlight/src/ui/telemetry/utils/metrics.ts b/packages/spotlight/src/ui/telemetry/utils/metrics.ts new file mode 100644 index 000000000..559400252 --- /dev/null +++ b/packages/spotlight/src/ui/telemetry/utils/metrics.ts @@ -0,0 +1,86 @@ +import type { MetricType } from "@sentry/core"; +import type { SentryMetricPayload } from "../types"; + +/** + * Aggregate metrics by type (sum for counters, avg for distributions, etc.) + */ +export function aggregateMetrics( + metrics: SentryMetricPayload[], + type: MetricType, +): { + sum?: number; + avg?: number; + min?: number; + max?: number; + count: number; +} { + if (metrics.length === 0) { + return { count: 0 }; + } + + const values = metrics.map(m => m.value); + + switch (type) { + case "counter": + return { + sum: values.reduce((a, b) => a + b, 0), + count: metrics.length, + }; + case "gauge": + case "distribution": + return { + sum: values.reduce((a, b) => a + b, 0), + avg: values.reduce((a, b) => a + b, 0) / values.length, + min: Math.min(...values), + max: Math.max(...values), + count: metrics.length, + }; + default: + return { count: metrics.length }; + } +} + +/** + * Calculate percentiles for a distribution of values + */ +export function calculatePercentiles(values: number[], percentiles: number[]): Map { + if (values.length === 0) { + return new Map(); + } + + const sorted = [...values].sort((a, b) => a - b); + const result = new Map(); + + for (const percentile of percentiles) { + if (percentile < 0 || percentile > 100) continue; + + const index = (percentile / 100) * (sorted.length - 1); + const lower = Math.floor(index); + const upper = Math.ceil(index); + const weight = index - lower; + + if (lower === upper) { + result.set(percentile, sorted[lower] ?? 0); + } else { + const value = (sorted[lower] ?? 0) * (1 - weight) + (sorted[upper] ?? 0) * weight; + result.set(percentile, value); + } + } + + return result; +} + +/** + * Get metrics grouped by name + */ +export function groupMetricsByName(metrics: SentryMetricPayload[]): Map { + const groups = new Map(); + + for (const metric of metrics) { + const existing = groups.get(metric.name) || []; + existing.push(metric); + groups.set(metric.name, existing); + } + + return groups; +} diff --git a/packages/spotlight/src/ui/telemetry/utils/sentry.ts b/packages/spotlight/src/ui/telemetry/utils/sentry.ts index d75980038..8b17b1e54 100644 --- a/packages/spotlight/src/ui/telemetry/utils/sentry.ts +++ b/packages/spotlight/src/ui/telemetry/utils/sentry.ts @@ -1,8 +1,15 @@ -import { ERROR_EVENT_TYPES, LOG_EVENT_TYPES, PROFILE_EVENT_TYPES, TRACE_EVENT_TYPES } from "../constants/sentry"; +import { + ERROR_EVENT_TYPES, + LOG_EVENT_TYPES, + METRIC_EVENT_TYPES, + PROFILE_EVENT_TYPES, + TRACE_EVENT_TYPES, +} from "../constants/sentry"; import type { SentryErrorEvent, SentryEvent, SentryLogEvent, + SentryMetricEvent, SentryProfileV1Event, SentryProfileV2ChunkEvent, SentryTransactionEvent, @@ -27,3 +34,7 @@ export function isTraceEvent(event: SentryEvent): event is SentryTransactionEven export function isLogEvent(event: SentryEvent): event is SentryLogEvent { return !!event.type && LOG_EVENT_TYPES.has(event.type); } + +export function isMetricEvent(event: SentryEvent): event is SentryMetricEvent { + return !!event.type && METRIC_EVENT_TYPES.has(event.type); +} diff --git a/packages/spotlight/tests/e2e/ui/metrics.e2e.test.ts b/packages/spotlight/tests/e2e/ui/metrics.e2e.test.ts new file mode 100644 index 000000000..abc761237 --- /dev/null +++ b/packages/spotlight/tests/e2e/ui/metrics.e2e.test.ts @@ -0,0 +1,221 @@ +import { expect, test } from "./fixtures"; + +// Metric fixture paths +const METRIC_ENVELOPE = "metrics/trace_metric_envelope.bin"; +const TRANSACTION_WITH_METRICS = "metrics/transaction_envelope.bin"; + +test.describe("Metrics Display UI Tests", () => { + test("should display metrics list with types and values", async ({ page, sidecar, sendTestEnvelope }) => { + await page.goto(sidecar.baseURL); + // Send metric envelope + await sendTestEnvelope(METRIC_ENVELOPE); + + // Navigate to Metrics tab + const metricsTab = page + .locator('[data-test-id="tab-metrics"], a[href*="metrics"], button:has-text("Metrics")') + .first(); + await metricsTab.click(); + // Wait for metric sections (expandable buttons) to appear + await page.waitForSelector('button:has-text("▶"), a[href*="/telemetry/metrics/"]', { + timeout: 10000, + }); + + // Verify metrics are displayed with numeric values + const pageContent = page.locator("body"); + const text = await pageContent.textContent(); + expect(text).not.toBe(""); + // Should contain numeric values + const hasNumbers = /\d+/.test(text || ""); + expect(hasNumbers).toBe(true); + }); + + test("should display grouped metrics by name", async ({ page, sidecar, sendTestEnvelope }) => { + await page.goto(sidecar.baseURL); + // Send metric envelope multiple times to get multiple samples + await sendTestEnvelope(METRIC_ENVELOPE); + await sendTestEnvelope(METRIC_ENVELOPE); + + // Navigate to Metrics tab + const metricsTab = page + .locator('[data-test-id="tab-metrics"], a[href*="metrics"], button:has-text("Metrics")') + .first(); + await metricsTab.click(); + // Wait for metrics to appear + await page.waitForSelector('button:has-text("▶"), a[href*="/telemetry/metrics/"]', { + timeout: 10000, + }); + + // Verify metrics are displayed (grouped by name) + const pageContent = page.locator("body"); + const text = await pageContent.textContent(); + expect(text).not.toBe(""); + // Verify multiple metric sections exist (indicating grouping) + const sectionButtons = page.locator('button:has-text("▶")'); + const sectionCount = await sectionButtons.count(); + expect(sectionCount).toBeGreaterThan(0); + }); + + test("should expand metric sections", async ({ page, sidecar, sendTestEnvelope }) => { + await page.goto(sidecar.baseURL); + // Send metric envelope + await sendTestEnvelope(METRIC_ENVELOPE); + + // Navigate to Metrics tab + const metricsTab = page + .locator('[data-test-id="tab-metrics"], a[href*="metrics"], button:has-text("Metrics")') + .first(); + await metricsTab.click(); + // Wait for metric sections to appear + await page.waitForSelector('button:has-text("▶")', { + timeout: 10000, + }); + + // Click on a metric section to expand it + const sectionButton = page.locator('button:has-text("▶")').first(); + await sectionButton.click({ timeout: 2000 }); + + // Wait for expanded content (metric sample links) + await page + .waitForSelector('a[href*="/telemetry/metrics/"]', { + timeout: 3000, + }) + .catch(() => { + // Might not have samples or already visible + }); + + // Verify content is displayed + const pageContent = page.locator("body"); + const text = await pageContent.textContent(); + expect(text).not.toBe(""); + }); + + test("should display metric details on click", async ({ page, sidecar, sendTestEnvelope }) => { + await page.goto(sidecar.baseURL); + // Send metric envelope + await sendTestEnvelope(METRIC_ENVELOPE); + + // Navigate to Metrics tab + const metricsTab = page + .locator('[data-test-id="tab-metrics"], a[href*="metrics"], button:has-text("Metrics")') + .first(); + await metricsTab.click(); + // Wait for metrics to appear + await page.waitForSelector('button:has-text("▶")', { + timeout: 10000, + }); + + // Expand a section first + const sectionButton = page.locator('button:has-text("▶")').first(); + await sectionButton.click({ timeout: 2000 }).catch(() => {}); + + // Wait for metric sample links + await page + .waitForSelector('a[href*="/telemetry/metrics/"]', { + timeout: 5000, + }) + .catch(() => { + // If no samples, that's okay + }); + + // Try to click on a metric sample link + const metricLink = page.locator('a[href*="/telemetry/metrics/"]').first(); + const hasMetricLink = await metricLink.isVisible().catch(() => false); + + if (hasMetricLink) { + await metricLink.click({ timeout: 2000 }); + // Wait for side panel to appear + await page.waitForTimeout(500); + } + + // Verify details are shown (side panel or expanded view) + const pageContent = page.locator("body"); + const text = await pageContent.textContent(); + expect(text).not.toBe(""); + }); + + test("should handle metric filtering", async ({ page, sidecar, sendTestEnvelope }) => { + await page.goto(sidecar.baseURL); + // Send metric envelope + await sendTestEnvelope(METRIC_ENVELOPE); + + // Navigate to Metrics tab + const metricsTab = page + .locator('[data-test-id="tab-metrics"], a[href*="metrics"], button:has-text("Metrics")') + .first(); + await metricsTab.click(); + // Wait for metrics to appear + await page.waitForSelector('button:has-text("▶"), input[type="text"]', { + timeout: 10000, + }); + + // Verify filter controls are available (search input, filter button) + const filterInput = page.locator('input[type="text"], input[placeholder*="Search"]').first(); + await filterInput.isVisible().catch(() => { + // Filter controls might not be visible, that's okay + }); + + // Should at least have metric content + const pageContent = page.locator("body"); + const text = await pageContent.textContent(); + expect(text).not.toBe(""); + }); + + test("should display metrics with trace context", async ({ page, sidecar, sendTestEnvelope }) => { + await page.goto(sidecar.baseURL); + // Send transaction envelope (may or may not include metrics) + await sendTestEnvelope(TRANSACTION_WITH_METRICS); + // Also send a metric envelope to ensure metrics are available + await sendTestEnvelope(METRIC_ENVELOPE); + + // Navigate to Traces tab first to verify transaction is received + const tracesTab = page.locator('[data-test-id="tab-traces"], a[href*="traces"], button:has-text("Traces")').first(); + await tracesTab.click(); + // Wait for traces to appear + await page + .waitForSelector('a[href*="/telemetry/traces/"]', { + timeout: 5000, + }) + .catch(() => { + // No traces, that's okay - test will still verify metrics tab works + }); + + // Navigate to Metrics tab + const metricsTab = page + .locator('[data-test-id="tab-metrics"], a[href*="metrics"], button:has-text("Metrics")') + .first(); + await metricsTab.click(); + // Wait for metrics to appear (either from transaction or metric envelope) + await page.waitForSelector('button:has-text("▶"), a[href*="/telemetry/metrics/"]', { + timeout: 10000, + }); + + // Verify content is displayed + const pageContent = page.locator("body"); + const text = await pageContent.textContent(); + expect(text).not.toBe(""); + }); + + test("should handle empty metrics state", async ({ page, sidecar }) => { + await page.goto(sidecar.baseURL); + + // Navigate to Metrics tab without sending any metrics + const metricsTab = page + .locator('[data-test-id="tab-metrics"], a[href*="metrics"], button:has-text("Metrics")') + .first(); + await metricsTab.click(); + // Wait for either metrics to appear OR "No metrics" message + await Promise.race([ + page.waitForSelector('button:has-text("▶"), a[href*="/telemetry/metrics/"]', { + timeout: 3000, + }), + page.waitForSelector("text=/No metrics/i", { timeout: 3000 }), + ]).catch(() => { + // Either state is fine + }); + + // Verify content is displayed (either metrics or empty state) + const pageContent = page.locator("body"); + const text = await pageContent.textContent(); + expect(text).not.toBe(""); + }); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 947501e2a..8fa35d58d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,14 +10,14 @@ catalogs: specifier: ^5.1.0 version: 5.2.5 '@sentry/astro': - specifier: ^10.31.0 - version: 10.32.1 + specifier: ^10.36.0 + version: 10.36.0 '@sentry/core': - specifier: ^10.31.0 - version: 10.32.1 + specifier: ^10.36.0 + version: 10.36.0 '@sentry/node': - specifier: ^10.31.0 - version: 10.32.1 + specifier: ^10.36.0 + version: 10.36.0 '@tailwindcss/vite': specifier: ^4.1.11 version: 4.1.11 @@ -103,22 +103,22 @@ importers: dependencies: '@hono/mcp': specifier: ^0.2.2 - version: 0.2.2(@modelcontextprotocol/sdk@1.27.1(zod@4.1.13))(hono-rate-limiter@0.4.2(hono@4.12.14))(hono@4.12.14)(zod@4.1.13) + version: 0.2.2(@modelcontextprotocol/sdk@1.29.0(zod@4.1.13))(hono-rate-limiter@0.4.2(hono@4.12.14))(hono@4.12.14)(zod@4.1.13) '@hono/node-server': specifier: ^1.19.10 - version: 1.19.10(hono@4.12.14) + version: 1.19.14(hono@4.12.14) '@jridgewell/trace-mapping': specifier: ^0.3.25 version: 0.3.31 '@modelcontextprotocol/sdk': specifier: ^1.26.0 - version: 1.27.1(zod@4.1.13) + version: 1.29.0(zod@4.1.13) '@sentry/core': specifier: 'catalog:' - version: 10.32.1 + version: 10.36.0 '@sentry/node': specifier: 'catalog:' - version: 10.32.1 + version: 10.36.0 anser: specifier: ^2.3.3 version: 2.3.3 @@ -178,14 +178,14 @@ importers: specifier: ^1.2.7 version: 1.2.7(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sentry/browser': - specifier: ^10.31.0 - version: 10.32.1 + specifier: ^10.36.0 + version: 10.36.0 '@sentry/electron': specifier: ^7.5.0 version: 7.5.0 '@sentry/react': - specifier: ^10.31.0 - version: 10.32.1(react@18.3.1) + specifier: ^10.36.0 + version: 10.36.0(react@18.3.1) '@sentry/vite-plugin': specifier: ^2.22.5 version: 2.23.0 @@ -230,10 +230,10 @@ importers: version: 4.4.1(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)) '@vitest/coverage-v8': specifier: ^0.34.6 - version: 0.34.6(vitest@0.34.6(happy-dom@20.8.9)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1)) + version: 0.34.6(vitest@0.34.6(happy-dom@20.9.0)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1)) autoprefixer: specifier: ^10.4.20 - version: 10.4.21(postcss@8.5.10) + version: 10.4.21(postcss@8.5.6) beautify: specifier: ^0.0.8 version: 0.0.8 @@ -254,7 +254,7 @@ importers: version: 16.5.0 electron: specifier: ^39.8.5 - version: 39.8.5 + version: 39.8.8 electron-builder: specifier: ^24.13.3 version: 24.13.3(electron-builder-squirrel-windows@24.13.3) @@ -281,7 +281,7 @@ importers: version: 0.4.2 happy-dom: specifier: ^20.8.9 - version: 20.8.9 + version: 20.9.0 magic-string: specifier: ^0.30.11 version: 0.30.21 @@ -305,7 +305,7 @@ importers: version: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rollup-plugin-sourcemaps2: specifier: ^0.4.1 - version: 0.4.4(@types/node@22.15.28)(rollup@4.60.0) + version: 0.4.4(@types/node@22.15.28)(rollup@4.60.2) shiki: specifier: ^3.13.0 version: 3.13.0 @@ -335,16 +335,16 @@ importers: version: 5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1) vite-plugin-dts: specifier: ^4.5.4 - version: 4.5.4(@types/node@22.15.28)(rollup@4.60.0)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)) + version: 4.5.4(@types/node@22.15.28)(rollup@4.60.2)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)) vite-plugin-electron: specifier: ^0.29.0 version: 0.29.0 vite-plugin-svgr: specifier: ^3.3.0 - version: 3.3.0(rollup@4.60.0)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)) + version: 3.3.0(rollup@4.60.2)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)) vitest: specifier: 'catalog:' - version: 0.34.6(happy-dom@20.8.9)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1) + version: 0.34.6(happy-dom@20.9.0)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1) zustand: specifier: ^5.0.3 version: 5.0.3(@types/react@18.3.20)(react@18.3.1) @@ -353,25 +353,25 @@ importers: dependencies: '@astrojs/react': specifier: ^4.2.0 - version: 4.2.7(@types/node@25.5.0)(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(jiti@2.4.2)(lightningcss@1.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) + version: 4.2.7(@types/node@24.10.1)(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(jiti@2.4.2)(lightningcss@1.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) '@astrojs/starlight': specifier: ^0.32.4 - version: 0.32.6(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) + version: 0.32.6(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) '@astrojs/starlight-tailwind': specifier: ^3.0.1 - version: 3.0.1(@astrojs/starlight@0.32.6(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)))(@astrojs/tailwind@6.0.2(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11))(tailwindcss@4.1.11) + version: 3.0.1(@astrojs/starlight@0.32.6(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)))(@astrojs/tailwind@6.0.2(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11))(tailwindcss@4.1.11) '@astrojs/vercel': specifier: ^8.0.8 - version: 8.1.4(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(react@18.3.1)(rollup@4.60.0)(svelte@4.2.19) + version: 8.1.4(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(react@18.3.1)(rollup@4.60.2)(svelte@4.2.19) '@fontsource/raleway': specifier: 'catalog:' version: 5.2.5 '@sentry/astro': specifier: 'catalog:' - version: 10.32.1(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) + version: 10.36.0(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) '@tailwindcss/vite': specifier: 'catalog:' - version: 4.1.11(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) + version: 4.1.11(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) '@types/react': specifier: 'catalog:' version: 18.3.20 @@ -383,7 +383,7 @@ importers: version: 1.6.1(react@18.3.1)(svelte@4.2.19) astro: specifier: ^5.18.1 - version: 5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) + version: 5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) react: specifier: 'catalog:' version: 18.3.1 @@ -411,7 +411,7 @@ importers: version: 5.9.2 vite-plugin-inspect: specifier: ^0.7.42 - version: 0.7.42(rollup@4.60.0)(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) + version: 0.7.42(rollup@4.60.2)(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) packages: @@ -434,8 +434,8 @@ packages: '@apm-js-collab/tracing-hooks@0.3.1': resolution: {integrity: sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw==} - '@astrojs/compiler@2.13.1': - resolution: {integrity: sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==} + '@astrojs/compiler@2.13.0': + resolution: {integrity: sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==} '@astrojs/internal-helpers@0.6.1': resolution: {integrity: sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A==} @@ -505,8 +505,8 @@ packages: resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + '@babel/code-frame@7.28.6': + resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==} engines: {node: '>=6.9.0'} '@babel/compat-data@7.27.1': @@ -564,8 +564,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.29.2': - resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -585,8 +585,8 @@ packages: resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.29.2': - resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} + '@babel/runtime@7.28.6': + resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} '@babel/template@7.27.1': @@ -601,8 +601,8 @@ packages: resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': - resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -702,8 +702,8 @@ packages: '@emnapi/runtime@1.3.0': resolution: {integrity: sha512-XMBySMuNZs3DM96xcJmLW4EfGnf+uGmFNjzpehMjuX5PLB5j87ar2Zc4e3PVeZ3I5g3tYtAqskB28manlF69Zw==} - '@emnapi/runtime@1.9.1': - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} '@emotion/babel-plugin@11.12.0': resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} @@ -753,14 +753,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.4': - resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.28.0': - resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -783,14 +777,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.4': - resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.28.0': - resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -813,14 +801,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.4': - resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.28.0': - resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -843,14 +825,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.4': - resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.28.0': - resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -873,14 +849,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.4': - resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.28.0': - resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -903,14 +873,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.4': - resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.28.0': - resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -933,14 +897,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.4': - resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.28.0': - resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -963,14 +921,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.4': - resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.28.0': - resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -993,14 +945,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.4': - resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.28.0': - resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -1023,14 +969,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.4': - resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.28.0': - resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -1053,14 +993,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.4': - resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.28.0': - resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -1083,14 +1017,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.4': - resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.28.0': - resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -1113,14 +1041,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.4': - resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.28.0': - resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -1143,14 +1065,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.4': - resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.28.0': - resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -1173,14 +1089,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.4': - resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.28.0': - resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -1203,14 +1113,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.4': - resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.28.0': - resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -1233,14 +1137,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.4': - resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.28.0': - resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -1263,14 +1161,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.4': - resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.28.0': - resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -1293,14 +1185,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.4': - resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.28.0': - resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -1323,14 +1209,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.4': - resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.28.0': - resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -1353,14 +1233,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.4': - resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.28.0': - resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -1371,14 +1245,8 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.4': - resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/openharmony-arm64@0.28.0': - resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -1401,14 +1269,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.4': - resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.28.0': - resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -1431,14 +1293,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.4': - resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.28.0': - resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -1461,14 +1317,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.4': - resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.28.0': - resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -1491,14 +1341,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.4': - resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.28.0': - resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1559,8 +1403,8 @@ packages: hono-rate-limiter: ^0.4.2 zod: ^3.25.0 || ^4.0.0 - '@hono/node-server@1.19.10': - resolution: {integrity: sha512-hZ7nOssGqRgyV3FVVQdfi+U4q02uB23bpnYpdvNXkYTRRyWx84b7yf1ans+dnJ/7h41sGL3CeQTfO+ZGxuO+Iw==} + '@hono/node-server@1.19.14': + resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 @@ -1578,8 +1422,8 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@img/colour@1.1.0': - resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + '@img/colour@1.0.0': + resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} '@img/sharp-darwin-arm64@0.33.5': @@ -1888,8 +1732,8 @@ packages: '@microsoft/tsdoc@0.15.1': resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} - '@modelcontextprotocol/sdk@1.27.1': - resolution: {integrity: sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==} + '@modelcontextprotocol/sdk@1.29.0': + resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==} engines: {node: '>=18'} peerDependencies: '@cfworker/json-schema': ^4.1.1 @@ -1913,10 +1757,18 @@ packages: '@one-ini/wasm@0.1.1': resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + '@opentelemetry/api-logs@0.207.0': + resolution: {integrity: sha512-lAb0jQRVyleQQGiuuvCOTDVspc14nx6XJjP4FspJ1sNARo3Regq4ZZbrc3rN4b1TYSuUCvgH+UXUPug4SLOqEQ==} + engines: {node: '>=8.0.0'} + '@opentelemetry/api-logs@0.208.0': resolution: {integrity: sha512-CjruKY9V6NMssL/T1kAFgzosF1v9o6oeN+aX5JB/C/xPNtmgIJqcXHG7fA82Ou1zCpWGl4lROQUKwUNE1pMCyg==} engines: {node: '>=8.0.0'} + '@opentelemetry/api-logs@0.210.0': + resolution: {integrity: sha512-CMtLxp+lYDriveZejpBND/2TmadrrhUfChyxzmkFtHaMDdSKfP59MAYyA0ICBvEBdm3iXwLcaj/8Ic/pnGw9Yg==} + engines: {node: '>=8.0.0'} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -1927,150 +1779,312 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/context-async-hooks@2.5.0': + resolution: {integrity: sha512-uOXpVX0ZjO7heSVjhheW2XEPrhQAWr2BScDPoZ9UDycl5iuHG+Usyc3AIfG6kZeC1GyLpMInpQ6X5+9n69yOFw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@2.2.0': resolution: {integrity: sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@2.4.0': + resolution: {integrity: sha512-KtcyFHssTn5ZgDu6SXmUznS80OFs/wN7y6MyFRRcKU6TOw8hNcGxKvt8hsdaLJfhzUszNSjURetq5Qpkad14Gw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/core@2.5.0': + resolution: {integrity: sha512-ka4H8OM6+DlUhSAZpONu0cPBtPPTQKxbxVzC4CzVx5+K4JnroJVBtDzLAMx4/3CDTJXRvVFhpFjtl4SaiTNoyQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/instrumentation-amqplib@0.55.0': resolution: {integrity: sha512-5ULoU8p+tWcQw5PDYZn8rySptGSLZHNX/7srqo2TioPnAAcvTy6sQFQXsNPrAnyRRtYGMetXVyZUy5OaX1+IfA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-amqplib@0.57.0': + resolution: {integrity: sha512-hgHnbcopDXju7164mwZu7+6mLT/+O+6MsyedekrXL+HQAYenMqeG7cmUOE0vI6s/9nW08EGHXpD+Q9GhLU1smA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-connect@0.52.0': resolution: {integrity: sha512-GXPxfNB5szMbV3I9b7kNWSmQBoBzw7MT0ui6iU/p+NIzVx3a06Ri2cdQO7tG9EKb4aKSLmfX9Cw5cKxXqX6Ohg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-connect@0.53.0': + resolution: {integrity: sha512-SoFqipWLUEYVIxvz0VYX9uWLJhatJG4cqXpRe1iophLofuEtqFUn8YaEezjz2eJK74eTUQ0f0dJVOq7yMXsJGQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-dataloader@0.26.0': resolution: {integrity: sha512-P2BgnFfTOarZ5OKPmYfbXfDFjQ4P9WkQ1Jji7yH5/WwB6Wm/knynAoA1rxbjWcDlYupFkyT0M1j6XLzDzy0aCA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-dataloader@0.27.0': + resolution: {integrity: sha512-8e7n8edfTN28nJDpR/H59iW3RbW1fvpt0xatGTfSbL8JS4FLizfjPxO7JLbyWh9D3DSXxrTnvOvXpt6V5pnxJg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-express@0.57.0': resolution: {integrity: sha512-HAdx/o58+8tSR5iW+ru4PHnEejyKrAy9fYFhlEI81o10nYxrGahnMAHWiSjhDC7UQSY3I4gjcPgSKQz4rm/asg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-express@0.58.0': + resolution: {integrity: sha512-UuGst6/1XPcswrIm5vmhuUwK/9qx9+fmNB+4xNk3lfpgQlnQxahy20xmlo3I+LIyA5ZA3CR2CDXslxAMqwminA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-fs@0.28.0': resolution: {integrity: sha512-FFvg8fq53RRXVBRHZViP+EMxMR03tqzEGpuq55lHNbVPyFklSVfQBN50syPhK5UYYwaStx0eyCtHtbRreusc5g==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-fs@0.29.0': + resolution: {integrity: sha512-JXPygU1RbrHNc5kD+626v3baV5KamB4RD4I9m9nUTd/HyfLZQSA3Z2z3VOebB3ChJhRDERmQjLiWvwJMHecKPg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-generic-pool@0.52.0': resolution: {integrity: sha512-ISkNcv5CM2IwvsMVL31Tl61/p2Zm2I2NAsYq5SSBgOsOndT0TjnptjufYVScCnD5ZLD1tpl4T3GEYULLYOdIdQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-generic-pool@0.53.0': + resolution: {integrity: sha512-h49axGXGlvWzyQ4exPyd0qG9EUa+JP+hYklFg6V+Gm4ZC2Zam1QeJno/TQ8+qrLvsVvaFnBjTdS53hALpR3h3Q==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-graphql@0.56.0': resolution: {integrity: sha512-IPvNk8AFoVzTAM0Z399t34VDmGDgwT6rIqCUug8P9oAGerl2/PEIYMPOl/rerPGu+q8gSWdmbFSjgg7PDVRd3Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-graphql@0.57.0': + resolution: {integrity: sha512-wjtSavcp9MsGcnA1hj8ArgsL3EkHIiTLGMwqVohs5pSnMGeao0t2mgAuMiv78KdoR3kO3DUjks8xPO5Q6uJekg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-hapi@0.55.0': resolution: {integrity: sha512-prqAkRf9e4eEpy4G3UcR32prKE8NLNlA90TdEU1UsghOTg0jUvs40Jz8LQWFEs5NbLbXHYGzB4CYVkCI8eWEVQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-hapi@0.56.0': + resolution: {integrity: sha512-HgLxgO0G8V9y/6yW2pS3Fv5M3hz9WtWUAdbuszQDZ8vXDQSd1sI9FYHLdZW+td/8xCLApm8Li4QIeCkRSpHVTg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-http@0.208.0': resolution: {integrity: sha512-rhmK46DRWEbQQB77RxmVXGyjs6783crXCnFjYQj+4tDH/Kpv9Rbg3h2kaNyp5Vz2emF1f9HOQQvZoHzwMWOFZQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-http@0.210.0': + resolution: {integrity: sha512-dICO+0D0VBnrDOmDXOvpmaP0gvai6hNhJ5y6+HFutV0UoXc7pMgJlJY3O7AzT725cW/jP38ylmfHhQa7M0Nhww==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-ioredis@0.56.0': resolution: {integrity: sha512-XSWeqsd3rKSsT3WBz/JKJDcZD4QYElZEa0xVdX8f9dh4h4QgXhKRLorVsVkK3uXFbC2sZKAS2Ds+YolGwD83Dg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-ioredis@0.58.0': + resolution: {integrity: sha512-2tEJFeoM465A0FwPB0+gNvdM/xPBRIqNtC4mW+mBKy+ZKF9CWa7rEqv87OODGrigkEDpkH8Bs1FKZYbuHKCQNQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-kafkajs@0.18.0': resolution: {integrity: sha512-KCL/1HnZN5zkUMgPyOxfGjLjbXjpd4odDToy+7c+UsthIzVLFf99LnfIBE8YSSrYE4+uS7OwJMhvhg3tWjqMBg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-kafkajs@0.19.0': + resolution: {integrity: sha512-PMJePP4PVv+NSvWFuKADEVemsbNK8tnloHnrHOiRXMmBnyqcyOTmJyPy6eeJ0au90QyiGB2rzD8smmu2Y0CC7A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-knex@0.53.0': resolution: {integrity: sha512-xngn5cH2mVXFmiT1XfQ1aHqq1m4xb5wvU6j9lSgLlihJ1bXzsO543cpDwjrZm2nMrlpddBf55w8+bfS4qDh60g==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-knex@0.54.0': + resolution: {integrity: sha512-XYXKVUH+0/Ur29jMPnyxZj32MrZkWSXHhCteTkt/HzynKnvIASmaAJ6moMOgBSRoLuDJFqPew68AreRylIzhhg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-koa@0.57.0': resolution: {integrity: sha512-3JS8PU/D5E3q295mwloU2v7c7/m+DyCqdu62BIzWt+3u9utjxC9QS7v6WmUNuoDN3RM+Q+D1Gpj13ERo+m7CGg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.9.0 + '@opentelemetry/instrumentation-koa@0.58.0': + resolution: {integrity: sha512-602W6hEFi3j2QrQQBKWuBUSlHyrwSCc1IXpmItC991i9+xJOsS4n4mEktEk/7N6pavBX35J9OVkhPDXjbFk/1A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@opentelemetry/instrumentation-lru-memoizer@0.53.0': resolution: {integrity: sha512-LDwWz5cPkWWr0HBIuZUjslyvijljTwmwiItpMTHujaULZCxcYE9eU44Qf/pbVC8TulT0IhZi+RoGvHKXvNhysw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-lru-memoizer@0.54.0': + resolution: {integrity: sha512-LPji0Qwpye5e1TNAUkHt7oij2Lrtpn2DRTUr4CU69VzJA13aoa2uzP3NutnFoLDUjmuS6vi/lv08A2wo9CfyTA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mongodb@0.61.0': resolution: {integrity: sha512-OV3i2DSoY5M/pmLk+68xr5RvkHU8DRB3DKMzYJdwDdcxeLs62tLbkmRyqJZsYf3Ht7j11rq35pHOWLuLzXL7pQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mongodb@0.63.0': + resolution: {integrity: sha512-EvJb3aLiq1QedAZO4vqXTG0VJmKUpGU37r11thLPuL5HNa08sUS9DbF69RB8YoXVby2pXkFPMnbG0Pky0JMlKA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mongoose@0.55.0': resolution: {integrity: sha512-5afj0HfF6aM6Nlqgu6/PPHFk8QBfIe3+zF9FGpX76jWPS0/dujoEYn82/XcLSaW5LPUDW8sni+YeK0vTBNri+w==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mongoose@0.56.0': + resolution: {integrity: sha512-1xBjUpDSJFZS4qYc4XXef0pzV38iHyKymY4sKQ3xPv7dGdka4We1PsuEg6Z8K21f1d2Yg5eU0OXXRSPVmowKfA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mysql2@0.55.0': resolution: {integrity: sha512-0cs8whQG55aIi20gnK8B7cco6OK6N+enNhW0p5284MvqJ5EPi+I1YlWsWXgzv/V2HFirEejkvKiI4Iw21OqDWg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mysql2@0.56.0': + resolution: {integrity: sha512-rW0hIpoaCFf55j0F1oqw6+Xv9IQeqJGtw9MudT3LCuhqld9S3DF0UEj8o3CZuPhcYqD+HAivZQdrsO5XMWyFqw==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mysql@0.54.0': resolution: {integrity: sha512-bqC1YhnwAeWmRzy1/Xf9cDqxNG2d/JDkaxnqF5N6iJKN1eVWI+vg7NfDkf52/Nggp3tl1jcC++ptC61BD6738A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mysql@0.56.0': + resolution: {integrity: sha512-osdGMB3vc4bm1Kos04zfVmYAKoKVbKiF/Ti5/R0upDEOsCnrnUm9xvLeaKKbbE2WgJoaFz3VS8c99wx31efytQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-pg@0.61.0': resolution: {integrity: sha512-UeV7KeTnRSM7ECHa3YscoklhUtTQPs6V6qYpG283AB7xpnPGCUCUfECFT9jFg6/iZOQTt3FHkB1wGTJCNZEvPw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-pg@0.62.0': + resolution: {integrity: sha512-/ZSMRCyFRMjQVx7Wf+BIAOMEdN/XWBbAGTNLKfQgGYs1GlmdiIFkUy8Z8XGkToMpKrgZju0drlTQpqt4Ul7R6w==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-redis@0.57.0': resolution: {integrity: sha512-bCxTHQFXzrU3eU1LZnOZQ3s5LURxQPDlU3/upBzlWY77qOI1GZuGofazj3jtzjctMJeBEJhNwIFEgRPBX1kp/Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-redis@0.58.0': + resolution: {integrity: sha512-tOGxw+6HZ5LDpMP05zYKtTw5HPqf3PXYHaOuN+pkv6uIgrZ+gTT75ELkd49eXBpjg3t36p8bYpsLgYcpIPqWqA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-tedious@0.27.0': resolution: {integrity: sha512-jRtyUJNZppPBjPae4ZjIQ2eqJbcRaRfJkr0lQLHFmOU/no5A6e9s1OHLd5XZyZoBJ/ymngZitanyRRA5cniseA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-tedious@0.29.0': + resolution: {integrity: sha512-Jtnayb074lk7DQL25pOOpjvg4zjJMFjFWOLlKzTF5i1KxMR4+GlR/DSYgwDRfc0a4sfPXzdb/yYw7jRSX/LdFg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-undici@0.19.0': resolution: {integrity: sha512-Pst/RhR61A2OoZQZkn6OLpdVpXp6qn3Y92wXa6umfJe9rV640r4bc6SWvw4pPN6DiQqPu2c8gnSSZPDtC6JlpQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.7.0 + '@opentelemetry/instrumentation-undici@0.20.0': + resolution: {integrity: sha512-VGBQ89Bza1pKtV12Lxgv3uMrJ1vNcf1cDV6LAXp2wa6hnl6+IN6lbEmPn6WNWpguZTZaFEvugyZgN8FJuTjLEA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.7.0 + + '@opentelemetry/instrumentation@0.207.0': + resolution: {integrity: sha512-y6eeli9+TLKnznrR8AZlQMSJT7wILpXH+6EYq5Vf/4Ao+huI7EedxQHwRgVUOMLFbe7VFDvHJrX9/f4lcwnJsA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation@0.208.0': resolution: {integrity: sha512-Eju0L4qWcQS+oXxi6pgh7zvE2byogAkcsVv0OjHF/97iOz1N/aKE6etSGowYkie+YA1uo6DNwdSxaaNnLvcRlA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation@0.210.0': + resolution: {integrity: sha512-sLMhyHmW9katVaLUOKpfCnxSGhZq2t1ReWgwsu2cSgxmDVMB690H9TanuexanpFI94PJaokrqbp8u9KYZDUT5g==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/redis-common@0.38.2': resolution: {integrity: sha512-1BCcU93iwSRZvDAgwUxC/DV4T/406SkMfxGqu5ojc3AvNI+I9GhV7v0J1HljsczuuhcnFLYqD5VmwVXfCGHzxA==} engines: {node: ^18.19.0 || >=20.6.0} @@ -2081,12 +2095,24 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/resources@2.5.0': + resolution: {integrity: sha512-F8W52ApePshpoSrfsSk1H2yJn9aKjCrbpQF1M9Qii0GHzbfVeFUB+rc3X4aggyZD8x9Gu3Slua+s6krmq6Dt8g==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-trace-base@2.2.0': resolution: {integrity: sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-trace-base@2.5.0': + resolution: {integrity: sha512-VzRf8LzotASEyNDUxTdaJ9IRJ1/h692WyArDBInf5puLCjxbICD6XkHgpuudis56EndyS7LYFmtTMny6UABNdQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/semantic-conventions@1.37.0': resolution: {integrity: sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA==} engines: {node: '>=14'} @@ -2145,6 +2171,11 @@ packages: peerDependencies: '@opentelemetry/api': ^1.8 + '@prisma/instrumentation@7.2.0': + resolution: {integrity: sha512-Rh9Z4x5kEj1OdARd7U18AtVrnL6rmLSI0qYShaB4W7Wx5BKbgzndWF+QnuzMb7GLfVdlT5aYCXoPQVYuYtVu0g==} + peerDependencies: + '@opentelemetry/api': ^1.8 + '@radix-ui/primitive@1.1.2': resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} @@ -2468,253 +2499,128 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.59.0': - resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm-eabi@4.60.0': - resolution: {integrity: sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==} + '@rollup/rollup-android-arm-eabi@4.60.2': + resolution: {integrity: sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.59.0': - resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-android-arm64@4.60.0': - resolution: {integrity: sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==} + '@rollup/rollup-android-arm64@4.60.2': + resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.59.0': - resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-arm64@4.60.0': - resolution: {integrity: sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==} + '@rollup/rollup-darwin-arm64@4.60.2': + resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.59.0': - resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} + '@rollup/rollup-darwin-x64@4.60.2': + resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.0': - resolution: {integrity: sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.59.0': - resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-arm64@4.60.0': - resolution: {integrity: sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==} + '@rollup/rollup-freebsd-arm64@4.60.2': + resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.59.0': - resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.60.0': - resolution: {integrity: sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==} + '@rollup/rollup-freebsd-x64@4.60.2': + resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': - resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-gnueabihf@4.60.0': - resolution: {integrity: sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==} + '@rollup/rollup-linux-arm-gnueabihf@4.60.2': + resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.59.0': - resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} + '@rollup/rollup-linux-arm-musleabihf@4.60.2': + resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.60.0': - resolution: {integrity: sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.59.0': - resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.60.0': - resolution: {integrity: sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==} + '@rollup/rollup-linux-arm64-gnu@4.60.2': + resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.59.0': - resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} + '@rollup/rollup-linux-arm64-musl@4.60.2': + resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.60.0': - resolution: {integrity: sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==} - cpu: [arm64] + '@rollup/rollup-linux-loong64-gnu@4.60.2': + resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} + cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.59.0': - resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} + '@rollup/rollup-linux-loong64-musl@4.60.2': + resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.60.0': - resolution: {integrity: sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-loong64-musl@4.59.0': - resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-loong64-musl@4.60.0': - resolution: {integrity: sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-ppc64-gnu@4.59.0': - resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} + '@rollup/rollup-linux-ppc64-gnu@4.60.2': + resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.60.0': - resolution: {integrity: sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==} + '@rollup/rollup-linux-ppc64-musl@4.60.2': + resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.59.0': - resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-ppc64-musl@4.60.0': - resolution: {integrity: sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.59.0': - resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.60.0': - resolution: {integrity: sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-musl@4.59.0': - resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} + '@rollup/rollup-linux-riscv64-gnu@4.60.2': + resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.60.0': - resolution: {integrity: sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==} + '@rollup/rollup-linux-riscv64-musl@4.60.2': + resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.59.0': - resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} + '@rollup/rollup-linux-s390x-gnu@4.60.2': + resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.60.0': - resolution: {integrity: sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.59.0': - resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.60.0': - resolution: {integrity: sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==} + '@rollup/rollup-linux-x64-gnu@4.60.2': + resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.59.0': - resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} + '@rollup/rollup-linux-x64-musl@4.60.2': + resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.60.0': - resolution: {integrity: sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-openbsd-x64@4.59.0': - resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} + '@rollup/rollup-openbsd-x64@4.60.2': + resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.0': - resolution: {integrity: sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.59.0': - resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} - cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-openharmony-arm64@4.60.0': - resolution: {integrity: sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==} + '@rollup/rollup-openharmony-arm64@4.60.2': + resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.59.0': - resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} + '@rollup/rollup-win32-arm64-msvc@4.60.2': + resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.0': - resolution: {integrity: sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.59.0': - resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} + '@rollup/rollup-win32-ia32-msvc@4.60.2': + resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.0': - resolution: {integrity: sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.59.0': - resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.60.0': - resolution: {integrity: sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.59.0': - resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} + '@rollup/rollup-win32-x64-gnu@4.60.2': + resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.0': - resolution: {integrity: sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==} + '@rollup/rollup-win32-x64-msvc@4.60.2': + resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] @@ -2744,36 +2650,36 @@ packages: resolution: {integrity: sha512-M3kycMY6f3KY9a8jDYac+yG0E3ZgWVWSxlOEC5MhYyX+g7mqxkwrb3LFQyuxSm/m+CCgMTCaPOOaB2twXP6EQg==} engines: {node: '>=18'} - '@sentry-internal/browser-utils@10.32.1': - resolution: {integrity: sha512-sjLLep1es3rTkbtAdTtdpc/a6g7v7bK5YJiZJsUigoJ4NTiFeMI5uIDCxbH/tjJ1q23YE1LzVn7T96I+qBRjHA==} + '@sentry-internal/browser-utils@10.36.0': + resolution: {integrity: sha512-WILVR8HQBWOxbqLRuTxjzRCMIACGsDTo6jXvzA8rz6ezElElLmIrn3CFAswrESLqEEUa4CQHl5bLgSVJCRNweA==} engines: {node: '>=18'} '@sentry-internal/feedback@10.29.0': resolution: {integrity: sha512-Y7IRsNeS99cEONu1mZWZc3HvbjNnu59Hgymm0swFFKbdgbCgdT6l85kn2oLsuq4Ew8Dw/pL/Sgpwsl9UgYFpUg==} engines: {node: '>=18'} - '@sentry-internal/feedback@10.32.1': - resolution: {integrity: sha512-O24G8jxbfBY1RE/v2qFikPJISVMOrd/zk8FKyl+oUVYdOxU2Ucjk2cR3EQruBFlc7irnL6rT3GPfRZ/kBgLkmQ==} + '@sentry-internal/feedback@10.36.0': + resolution: {integrity: sha512-zPjz7AbcxEyx8AHj8xvp28fYtPTPWU1XcNtymhAHJLS9CXOblqSC7W02Jxz6eo3eR1/pLyOo6kJBUjvLe9EoFA==} engines: {node: '>=18'} '@sentry-internal/replay-canvas@10.29.0': resolution: {integrity: sha512-typY4JrpAQQGPuSyd/BD8+nNCbvTV2UVvKzr+iKgI0m1qc4Dz8tHZ4Nfais2Z8eYn/pL1kqVQN5ERTmJoYFdIw==} engines: {node: '>=18'} - '@sentry-internal/replay-canvas@10.32.1': - resolution: {integrity: sha512-/XGTzWNWVc+B691fIVekV2KeoHFEDA5KftrLFAhEAW7uWOwk/xy3aQX4TYM0LcPm2PBKvoumlAD+Sd/aXk63oA==} + '@sentry-internal/replay-canvas@10.36.0': + resolution: {integrity: sha512-DLGIwmT2LX+O6TyYPtOQL5GiTm2rN0taJPDJ/Lzg2KEJZrdd5sKkzTckhh2x+vr4JQyeaLmnb8M40Ch1hvG/vQ==} engines: {node: '>=18'} '@sentry-internal/replay@10.29.0': resolution: {integrity: sha512-45NVw9PwB9TQ8z+xJ6G6Za+wmQ1RTA35heBSzR6U4bknj8LmA04k2iwnobvxCBEQXeLfcJEO1vFgagMoqMZMBw==} engines: {node: '>=18'} - '@sentry-internal/replay@10.32.1': - resolution: {integrity: sha512-KKmLUgIaLRM0VjrMA1ByQTawZyRDYSkG2evvEOVpEtR9F0sumidAQdi7UY71QEKE1RYe/Jcp/3WoaqsMh8tbnQ==} + '@sentry-internal/replay@10.36.0': + resolution: {integrity: sha512-nLMkJgvHq+uCCrQKV2KgSdVHxTsmDk0r2hsAoTcKCbzUpXyW5UhCziMRS6ULjBlzt5sbxoIIplE25ZpmIEeNgg==} engines: {node: '>=18'} - '@sentry/astro@10.32.1': - resolution: {integrity: sha512-/fUn27a+DAlqMjhRhdUcGvpE3H5q17JOLW42XCi3gOhtnE7zVqd3JJ1TbA4Q3G6BlaSAIsX1xqNOL9HGXhuLYQ==} + '@sentry/astro@10.36.0': + resolution: {integrity: sha512-H8iwYLKaF0CtOrrPMlHvt1F5SFkOSs1Sw4KHFknO5JndqyZmkOsGgHnsYFw8Z11oRjd4VImogwoWeI2TskdIMA==} engines: {node: '>=18.19.1'} peerDependencies: astro: '>=3.x || >=4.0.0-beta || >=5.x' @@ -2782,24 +2688,24 @@ packages: resolution: {integrity: sha512-+uLqaCKeYmH/W2YUV1XHkFEtpHdx/aFjCQahPVsvXyqg13dfkR6jaygPL4DB5DJtUSmPFCUE3MEk9ZO5JlhJYg==} engines: {node: '>= 14'} - '@sentry/babel-plugin-component-annotate@4.6.1': - resolution: {integrity: sha512-aSIk0vgBqv7PhX6/Eov+vlI4puCE0bRXzUG5HdCsHBpAfeMkI8Hva6kSOusnzKqs8bf04hU7s3Sf0XxGTj/1AA==} + '@sentry/babel-plugin-component-annotate@4.7.0': + resolution: {integrity: sha512-MkyajDiO17/GaHHFgOmh05ZtOwF5hmm9KRjVgn9PXHIdpz+TFM5mkp1dABmR6Y75TyNU98Z1aOwPOgyaR5etJw==} engines: {node: '>= 14'} '@sentry/browser@10.29.0': resolution: {integrity: sha512-XdbyIR6F4qoR9Z1JCWTgunVcTJjS9p2Th+v4wYs4ME+ZdLC4tuKKmRgYg3YdSIWCn1CBfIgdI6wqETSf7H6Njw==} engines: {node: '>=18'} - '@sentry/browser@10.32.1': - resolution: {integrity: sha512-NPNCXTZ05ZGTFyJdKNqjykpFm+urem0ebosILQiw3C4BxNVNGH4vfYZexyl6prRhmg91oB6GjVNiVDuJiap1gg==} + '@sentry/browser@10.36.0': + resolution: {integrity: sha512-yHhXbgdGY1s+m8CdILC9U/II7gb6+s99S2Eh8VneEn/JG9wHc+UOzrQCeFN0phFP51QbLkjkiQbbanjT1HP8UQ==} engines: {node: '>=18'} '@sentry/bundler-plugin-core@2.23.0': resolution: {integrity: sha512-Qbw+jZFK63w+V193l0eCFKLzGba2Iu93Fx8kCRzZ3uqjky002H8U3pu4mKgcc11J+u8QTjfNZGUyXsxz0jv2mg==} engines: {node: '>= 14'} - '@sentry/bundler-plugin-core@4.6.1': - resolution: {integrity: sha512-WPeRbnMXm927m4Kr69NTArPfI+p5/34FHftdCRI3LFPMyhZDzz6J3wLy4hzaVUgmMf10eLzmq2HGEMvpQmdynA==} + '@sentry/bundler-plugin-core@4.7.0': + resolution: {integrity: sha512-gFdEtiup/7qYhN3vp1v2f0WL9AG9OorWLtIpfSBYbWjtzklVNg1sizvNyZ8nEiwtnb25LzvvCUbOP1SyP6IodQ==} engines: {node: '>= 14'} '@sentry/cli-darwin@2.39.1': @@ -2904,8 +2810,8 @@ packages: resolution: {integrity: sha512-olQ2DU9dA/Bwsz3PtA9KNXRMqBWRQSkPw+MxwWEoU1K1qtiM9L0j6lbEFb5iSY3d7WYD5MB+1d5COugjSBrHtw==} engines: {node: '>=18'} - '@sentry/core@10.32.1': - resolution: {integrity: sha512-PH2ldpSJlhqsMj2vCTyU0BI2Fx1oIDhm7Izo5xFALvjVCS0gmlqHt1udu6YlKn8BtpGH6bGzssvv5APrk+OdPQ==} + '@sentry/core@10.36.0': + resolution: {integrity: sha512-EYJjZvofI+D93eUsPLDIUV0zQocYqiBRyXS6CCV6dHz64P/Hob5NJQOwPa8/v6nD+UvJXvwsFfvXOHhYZhZJOQ==} engines: {node: '>=18'} '@sentry/electron@7.5.0': @@ -2928,24 +2834,24 @@ packages: '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 || ^2.2.0 '@opentelemetry/semantic-conventions': ^1.37.0 - '@sentry/node-core@10.32.1': - resolution: {integrity: sha512-w56rxdBanBKc832zuwnE+zNzUQ19fPxfHEtOhK8JGPu3aSwQYcIxwz9z52lOx3HN7k/8Fj5694qlT3x/PokhRw==} + '@sentry/node-core@10.36.0': + resolution: {integrity: sha512-3K2SJCPiQGQMYSVSF3GuPIAilJPlXOWxyvrmnxY9Zw3ZbXaLynhYCJ5TjL38hS7XoMby/0lN2fY/kbXH/GlNeg==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 - '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0 || ^2.2.0 - '@opentelemetry/core': ^1.30.1 || ^2.1.0 || ^2.2.0 + '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0 + '@opentelemetry/core': ^1.30.1 || ^2.1.0 '@opentelemetry/instrumentation': '>=0.57.1 <1' - '@opentelemetry/resources': ^1.30.1 || ^2.1.0 || ^2.2.0 - '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 || ^2.2.0 + '@opentelemetry/resources': ^1.30.1 || ^2.1.0 + '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 '@opentelemetry/semantic-conventions': ^1.37.0 '@sentry/node@10.29.0': resolution: {integrity: sha512-9j8VzV06VCj+H8tlxpfa7BNN4HzH5exv68WOufdMTXzzWLOXnzrdNDoYplm1G2S3LMvWsc1SVI3a8A0yBY7oWg==} engines: {node: '>=18'} - '@sentry/node@10.32.1': - resolution: {integrity: sha512-oxlybzt8QW0lx/QaEj1DcvZDRXkgouewFelu/10dyUwv5So3YvipfvWInda+yMLmn25OggbloDQ0gyScA2jU3g==} + '@sentry/node@10.36.0': + resolution: {integrity: sha512-c7kYTZ9WcOYqod65PpA4iY+wEGJqLbFy10v4lIG6B5XrO+PFEXh1CrvGPLDJVogbB/4NE0r2jgeFQ+jz8aZUhw==} engines: {node: '>=18'} '@sentry/opentelemetry@10.29.0': @@ -2958,18 +2864,18 @@ packages: '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 || ^2.2.0 '@opentelemetry/semantic-conventions': ^1.37.0 - '@sentry/opentelemetry@10.32.1': - resolution: {integrity: sha512-YLssSz5Y+qPvufrh2cDaTXDoXU8aceOhB+YTjT8/DLF6SOj7Tzen52aAcjNaifawaxEsLCC8O+B+A2iA+BllvA==} + '@sentry/opentelemetry@10.36.0': + resolution: {integrity: sha512-TPOSiHBk45exA/LGFELSuzmBrWe1MG7irm7NkUXCZfdXuLLPeUtp1Y+rWDCWWNMrraAdizDN0d/l1GSLpxzpPg==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 - '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0 || ^2.2.0 - '@opentelemetry/core': ^1.30.1 || ^2.1.0 || ^2.2.0 - '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 || ^2.2.0 + '@opentelemetry/context-async-hooks': ^1.30.1 || ^2.1.0 + '@opentelemetry/core': ^1.30.1 || ^2.1.0 + '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 '@opentelemetry/semantic-conventions': ^1.37.0 - '@sentry/react@10.32.1': - resolution: {integrity: sha512-/tX0HeACbAmVP57x8txTrGk/U3fa9pDBaoAtlOrnPv5VS/aC5SGkehXWeTGSAa+ahlOWwp3IF8ILVXRiOoG/Vg==} + '@sentry/react@10.36.0': + resolution: {integrity: sha512-k2GwMKgepJLXvEQffQymQyxsTVjsLiY6YXG0bcceM3vulii9Sy29uqGhpqwaPOfM4bPQzUXJzAxS/c9S7n5hTw==} engines: {node: '>=18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x @@ -2978,8 +2884,8 @@ packages: resolution: {integrity: sha512-iLbqxan3DUkFJqbx7DOtJ2fTd6g+TmNS1PIdaDFfpvVG4Lg9AYp4Xege6BBCrGQYl+wUE3poWfNhASfch/s51Q==} engines: {node: '>= 14'} - '@sentry/vite-plugin@4.6.1': - resolution: {integrity: sha512-Qvys1y3o8/bfL3ikrHnJS9zxdjt0z3POshdBl3967UcflrTqBmnGNkcVk53SlmtJWIfh85fgmrLvGYwZ2YiqNg==} + '@sentry/vite-plugin@4.7.0': + resolution: {integrity: sha512-eQXDghOQLsYwnHutJo8TCzhG4gp0KLNq3h96iqFMhsbjnNnfYeCX1lIw1pJEh/az3cDwSyPI/KGkvf8hr0dZmQ==} engines: {node: '>= 14'} '@shikijs/core@1.29.2': @@ -2988,6 +2894,9 @@ packages: '@shikijs/core@3.13.0': resolution: {integrity: sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA==} + '@shikijs/core@3.15.0': + resolution: {integrity: sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg==} + '@shikijs/core@3.23.0': resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==} @@ -2997,6 +2906,9 @@ packages: '@shikijs/engine-javascript@3.13.0': resolution: {integrity: sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg==} + '@shikijs/engine-javascript@3.15.0': + resolution: {integrity: sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg==} + '@shikijs/engine-javascript@3.23.0': resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==} @@ -3006,6 +2918,9 @@ packages: '@shikijs/engine-oniguruma@3.13.0': resolution: {integrity: sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==} + '@shikijs/engine-oniguruma@3.15.0': + resolution: {integrity: sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA==} + '@shikijs/engine-oniguruma@3.23.0': resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} @@ -3015,6 +2930,9 @@ packages: '@shikijs/langs@3.13.0': resolution: {integrity: sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==} + '@shikijs/langs@3.15.0': + resolution: {integrity: sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A==} + '@shikijs/langs@3.23.0': resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} @@ -3024,6 +2942,9 @@ packages: '@shikijs/themes@3.13.0': resolution: {integrity: sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==} + '@shikijs/themes@3.15.0': + resolution: {integrity: sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ==} + '@shikijs/themes@3.23.0': resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} @@ -3036,6 +2957,9 @@ packages: '@shikijs/types@3.13.0': resolution: {integrity: sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==} + '@shikijs/types@3.15.0': + resolution: {integrity: sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw==} + '@shikijs/types@3.23.0': resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} @@ -3313,8 +3237,8 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/http-cache-semantics@4.2.0': - resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -3358,18 +3282,24 @@ packages: '@types/node@22.15.28': resolution: {integrity: sha512-I0okKVDmyKR281I0UIFV7EWAWRnR0gkuSKob5wVcByyyhr7Px/slhkQapcYX4u00ekzNWaS1gznKZnuzxwo4pw==} + '@types/node@22.18.0': + resolution: {integrity: sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==} + + '@types/node@24.10.1': + resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} + '@types/node@24.7.2': resolution: {integrity: sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==} - '@types/node@25.5.0': - resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} - '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} '@types/pg-pool@2.0.6': resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} + '@types/pg-pool@2.0.7': + resolution: {integrity: sha512-U4CwmGVQcbEuqpyju8/ptOKg6gEC+Tqsvj2xS9o1g71bUh8twxnC6ZL5rZKCsGN0iyH0CwgUyc9VR5owNQF9Ng==} + '@types/pg@8.15.6': resolution: {integrity: sha512-NoaMtzhxOrubeL/7UZuNTrejB4MPAJ0RpxZqXQf2qXuVlTPuG6Y8p4u9dKRaue4yjmC7ZhzVO2/Yyyn25znrPQ==} @@ -3574,7 +3504,6 @@ packages: '@xmldom/xmldom@0.8.10': resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} - deprecated: this version has critical issues, please update to the latest version abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} @@ -3607,11 +3536,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} - hasBin: true - agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -3785,8 +3709,8 @@ packages: peerDependencies: postcss: ^8.1.0 - autoprefixer@10.5.0: - resolution: {integrity: sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==} + autoprefixer@10.4.23: + resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -3821,9 +3745,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.10.19: - resolution: {integrity: sha512-qCkNLi2sfBOn8XhZQ0FXsT1Ki/Yo5P90hrkRamVFRS7/KV9hpfA4HkoWNU152+8w0zPjnxo5psx5NL3PSGgv5g==} - engines: {node: '>=6.0.0'} + baseline-browser-mapping@2.9.14: + resolution: {integrity: sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==} hasBin: true bcp-47-match@2.0.3: @@ -3887,8 +3810,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -3959,8 +3882,8 @@ packages: caniuse-lite@1.0.30001751: resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} - caniuse-lite@1.0.30001788: - resolution: {integrity: sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==} + caniuse-lite@1.0.30001764: + resolution: {integrity: sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4011,13 +3934,16 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.4.0: - resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} engines: {node: '>=8'} cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + cjs-module-lexer@2.2.0: + resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} + class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} @@ -4170,8 +4096,8 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-es@1.2.2: - resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + cookie-es@1.2.3: + resolution: {integrity: sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==} cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} @@ -4237,8 +4163,8 @@ packages: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-tree@3.2.1: - resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} css-what@6.2.2: @@ -4304,9 +4230,6 @@ packages: decode-named-character-reference@1.2.0: resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} - decode-named-character-reference@1.3.0: - resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} - decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -4342,8 +4265,8 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} @@ -4378,8 +4301,8 @@ packages: resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} engines: {node: '>=18'} - devalue@5.6.4: - resolution: {integrity: sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==} + devalue@5.7.1: + resolution: {integrity: sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -4392,10 +4315,6 @@ packages: resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} - diff@8.0.4: - resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} - engines: {node: '>=0.3.1'} - dir-compare@3.3.0: resolution: {integrity: sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==} @@ -4505,14 +4424,14 @@ packages: electron-to-chromium@1.5.145: resolution: {integrity: sha512-pZ5EcTWRq/055MvSBgoFEyKf2i4apwfoqJbK/ak2jnFq8oHjZ+vzc3AhRcz37Xn+ZJfL58R666FLJx0YOK9yTw==} - electron-to-chromium@1.5.338: - resolution: {integrity: sha512-KVQQ3xko9/coDX3qXLUEEbqkKT8L+1DyAovrtu0Khtrt9wjSZ+7CZV4GVzxFy9Oe1NbrIU1oVXCwHJruIA1PNg==} + electron-to-chromium@1.5.267: + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} electron-updater@6.6.2: resolution: {integrity: sha512-Cr4GDOkbAUqRHP5/oeOmH/L2Bn6+FQPxVLZtPbcmKZC63a1F3uu5EefYOssgZXG3u/zBlubbJ5PJdITdMVggbw==} - electron@39.8.5: - resolution: {integrity: sha512-q6+LiQIcTadSyvtPgLDQkCtVA9jQJXQVMrQcctfOJILh6OFMN+UJJLRkuUTy8CZDYeCIBn1ZycqsL1dAXugxZA==} + electron@39.8.8: + resolution: {integrity: sha512-24MMLdwCg8xwlWzDxC1XZU2MqW0Xx2UPxt9EU15vMDoRSMHPqmi/BgRCEINXZaBLfFSeXEKGpg+QlBRdL5uwaw==} engines: {node: '>= 12.20.55'} hasBin: true @@ -4615,13 +4534,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.4: - resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.28.0: - resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} engines: {node: '>=18'} hasBin: true @@ -4716,9 +4630,6 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - eventsource-parser@3.0.3: resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==} engines: {node: '>=20.0.0'} @@ -4747,8 +4658,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - express-rate-limit@8.3.1: - resolution: {integrity: sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==} + express-rate-limit@8.3.2: + resolution: {integrity: sha512-77VmFeJkO0/rvimEDuUC5H30oqUC4EyOhyGccfqoLebB0oiEYfM7nwPrsDsBL1gsTpwfzX8SFy2MT3TDyRq+bg==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -4907,8 +4818,8 @@ packages: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} - fs-extra@11.3.4: - resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} fs-extra@8.1.0: @@ -4943,8 +4854,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.5.0: - resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} + get-east-asian-width@1.4.0: + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} get-func-name@2.0.2: @@ -4981,8 +4892,8 @@ packages: get-tsconfig@4.10.1: resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} - get-tsconfig@4.14.0: - resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -4997,22 +4908,19 @@ packages: glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + deprecated: Glob versions prior to v9 are no longer supported glob@9.3.5: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} @@ -5051,11 +4959,11 @@ packages: graphemesplit@2.6.0: resolution: {integrity: sha512-rG9w2wAfkpg0DILa1pjnjNfucng3usON360shisqIMUBw/87pojcBSrHmeE4UwryAuBih7g8m1oilf5/u8EWdQ==} - h3@1.15.10: - resolution: {integrity: sha512-YzJeWSkDZxAhvmp8dexjRK5hxziRO7I9m0N53WhvYL5NiWfkUkzssVzY9jvGu0HBoLFW6+duYmNSn6MaZBCCtg==} + h3@1.15.11: + resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==} - happy-dom@20.8.9: - resolution: {integrity: sha512-Tz23LR9T9jOGVZm2x1EPdXqwA37G/owYMxRwU0E4miurAtFsPMQ1d2Jc2okUaSjZqAFz2oEn3FLXC5a0a+siyA==} + happy-dom@20.9.0: + resolution: {integrity: sha512-GZZ9mKe8r646NUAf/zemnGbjYh4Bt8/MqASJY+pSm5ZDtc3YQox+4gsLI7yi1hba6o+eCsGxpHn5+iEVn31/FQ==} engines: {node: '>=20.0.0'} has-flag@4.0.0: @@ -5122,8 +5030,8 @@ packages: hast-util-to-jsx-runtime@2.3.0: resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} - hast-util-to-parse5@8.0.1: - resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} hast-util-to-string@3.0.1: resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} @@ -5141,9 +5049,6 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hono-rate-limiter@0.4.2: resolution: {integrity: sha512-AAtFqgADyrmbDijcRTT/HJfwqfvhalya2Zo+MgfdrMPas3zSMD8SU03cv+ZsYwRU1swv7zgVt0shwN059yzhjw==} peerDependencies: @@ -5238,6 +5143,9 @@ packages: import-in-the-middle@2.0.0: resolution: {integrity: sha512-yNZhyQYqXpkT0AKq3F3KLasUSK4fHvebNH5hOsKQw2dhGSALvQ4U0BqUc5suziKvydO5u5hgN2hy1RJaho8U5A==} + import-in-the-middle@2.0.5: + resolution: {integrity: sha512-0InH9/4oDCBRzWXhpOqusspLBrVfK1vPvbn9Wxl8DAQ8yyx5fWJRETICSwkiAMaYntjJAMBP1R4B6cQnEUYVEA==} + import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} @@ -5375,8 +5283,8 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - is-wsl@3.1.1: - resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} isarray@1.0.0: @@ -5483,9 +5391,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -5647,8 +5552,8 @@ packages: lodash.union@4.6.0: resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} log-update@6.1.0: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} @@ -5678,8 +5583,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.7: - resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} + lru-cache@11.3.5: + resolution: {integrity: sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -5704,8 +5609,8 @@ packages: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} - magicast@0.5.2: - resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} + magicast@0.5.1: + resolution: {integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==} make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -5742,9 +5647,6 @@ packages: mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - mdast-util-from-markdown@2.0.3: - resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} - mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -5793,8 +5695,8 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - mdn-data@2.27.1: - resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} media-typer@1.1.0: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} @@ -6078,8 +5980,8 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - node-releases@2.0.37: - resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==} + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} @@ -6157,14 +6059,17 @@ packages: oniguruma-parser@0.12.1: resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} + oniguruma-parser@0.12.2: + resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==} + oniguruma-to-es@2.3.0: resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} oniguruma-to-es@4.3.3: resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} - oniguruma-to-es@4.3.5: - resolution: {integrity: sha512-Zjygswjpsewa0NLTsiizVuMQZbp0MDyM6lIt66OxsF21npUDlzpHi1Mgb/qhQdkb+dWFTzJmFbEWdvZgRho8eQ==} + oniguruma-to-es@4.3.6: + resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} open@9.1.0: resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} @@ -6308,18 +6213,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@2.3.2: - resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} - engines: {node: '>=8.6'} - picomatch@4.0.3: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} - engines: {node: '>=12'} - pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -6395,18 +6292,10 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.10: - resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.8: - resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} - engines: {node: ^10 || ^12 || >=14} - postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -6478,15 +6367,15 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - pump@3.0.4: - resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.15.0: - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} + qs@6.15.1: + resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} engines: {node: '>=0.6'} quansync@0.2.10: @@ -6788,13 +6677,8 @@ packages: '@types/node': optional: true - rollup@4.59.0: - resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.60.0: - resolution: {integrity: sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==} + rollup@4.60.2: + resolution: {integrity: sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -6851,11 +6735,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} - engines: {node: '>=10'} - hasBin: true - send@1.2.1: resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} engines: {node: '>= 18'} @@ -6897,6 +6776,9 @@ packages: shiki@3.13.0: resolution: {integrity: sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g==} + shiki@3.15.0: + resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==} + shiki@3.23.0: resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==} @@ -6970,6 +6852,10 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + smol-toml@1.5.2: + resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==} + engines: {node: '>= 18'} + smol-toml@1.6.1: resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==} engines: {node: '>= 18'} @@ -7065,10 +6951,6 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} - strip-ansi@7.2.0: - resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} - engines: {node: '>=12'} - strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -7145,8 +7027,8 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@7.5.11: - resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==} + tar@7.5.13: + resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==} engines: {node: '>=18'} temp-file@3.4.0: @@ -7179,8 +7061,8 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.0.4: - resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} tinyglobby@0.2.12: @@ -7363,8 +7245,8 @@ packages: undici-types@7.14.0: resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} - undici-types@7.18.2: - resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unicode-trie@2.0.0: resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} @@ -7408,9 +7290,6 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - unist-util-visit@5.1.0: - resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -7699,8 +7578,8 @@ packages: yaml: optional: true - vitefu@1.1.2: - resolution: {integrity: sha512-zpKATdUbzbsycPFBN71nS2uzBUQiVnFoOrr2rvqv34S1lcAgMKKkjWleLGeiJlZ8lwCXvtWaRn7R3ZC16SYRuw==} + vitefu@1.1.1: + resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} peerDependencies: vite: '>=6.3.6' peerDependenciesMeta: @@ -7842,10 +7721,15 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@1.10.3: - resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true + yaml@2.8.3: resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} engines: {node: '>= 14.6'} @@ -7862,8 +7746,8 @@ packages: yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - yauzl@3.2.1: - resolution: {integrity: sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==} + yauzl@3.3.0: + resolution: {integrity: sha512-PtGEvEP30p7sbIBJKUBjUnqgTVOyMURc4dLo9iNyAJnNIEz9pm88cCXF21w94Kg3k6RXkeZh5DHOGS0qEONvNQ==} engines: {node: '>=12'} yocto-queue@0.1.0: @@ -7891,11 +7775,6 @@ packages: peerDependencies: zod: ^3.25 || ^4 - zod-to-json-schema@3.25.2: - resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} - peerDependencies: - zod: ^3.25.28 || ^4 - zod-to-ts@1.2.0: resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} peerDependencies: @@ -7952,7 +7831,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/compiler@2.13.1': {} + '@astrojs/compiler@2.13.0': {} '@astrojs/internal-helpers@0.6.1': {} @@ -7980,7 +7859,7 @@ snapshots: smol-toml: 1.6.1 unified: 11.0.5 unist-util-remove-position: 5.0.0 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 unist-util-visit-parents: 6.0.2 vfile: 6.0.3 transitivePeerDependencies: @@ -8002,22 +7881,22 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.2 remark-smartypants: 3.0.2 - shiki: 3.23.0 - smol-toml: 1.6.1 + shiki: 3.15.0 + smol-toml: 1.5.2 unified: 11.0.5 unist-util-remove-position: 5.0.0 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 unist-util-visit-parents: 6.0.2 vfile: 6.0.3 transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.3.6(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))': + '@astrojs/mdx@4.3.6(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))': dependencies: '@astrojs/markdown-remark': 6.3.7 '@mdx-js/mdx': 3.1.1 - acorn: 8.16.0 - astro: 5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) + acorn: 8.15.0 + astro: 5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) es-module-lexer: 1.7.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.5 @@ -8035,15 +7914,15 @@ snapshots: dependencies: prismjs: 1.30.0 - '@astrojs/react@4.2.7(@types/node@25.5.0)(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(jiti@2.4.2)(lightningcss@1.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)': + '@astrojs/react@4.2.7(@types/node@24.10.1)(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(jiti@2.4.2)(lightningcss@1.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)': dependencies: '@types/react': 18.3.20 '@types/react-dom': 18.3.7(@types/react@18.3.20) - '@vitejs/plugin-react': 4.4.1(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) + '@vitejs/plugin-react': 4.4.1(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) ultrahtml: 1.6.0 - vite: 6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) + vite: 6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) transitivePeerDependencies: - '@types/node' - jiti @@ -8064,22 +7943,22 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.25.76 - '@astrojs/starlight-tailwind@3.0.1(@astrojs/starlight@0.32.6(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)))(@astrojs/tailwind@6.0.2(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11))(tailwindcss@4.1.11)': + '@astrojs/starlight-tailwind@3.0.1(@astrojs/starlight@0.32.6(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)))(@astrojs/tailwind@6.0.2(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11))(tailwindcss@4.1.11)': dependencies: - '@astrojs/starlight': 0.32.6(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) - '@astrojs/tailwind': 6.0.2(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11) + '@astrojs/starlight': 0.32.6(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) + '@astrojs/tailwind': 6.0.2(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11) tailwindcss: 4.1.11 - '@astrojs/starlight@0.32.6(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))': + '@astrojs/starlight@0.32.6(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))': dependencies: - '@astrojs/mdx': 4.3.6(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) + '@astrojs/mdx': 4.3.6(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) '@astrojs/sitemap': 3.6.0 '@pagefind/default-ui': 1.3.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) - astro-expressive-code: 0.40.2(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) + astro: 5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) + astro-expressive-code: 0.40.2(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.2 @@ -8101,36 +7980,36 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/tailwind@6.0.2(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11)': + '@astrojs/tailwind@6.0.2(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(tailwindcss@4.1.11)': dependencies: - astro: 5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) - autoprefixer: 10.5.0(postcss@8.5.10) - postcss: 8.5.10 - postcss-load-config: 4.0.2(postcss@8.5.10) + astro: 5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) + autoprefixer: 10.4.23(postcss@8.5.6) + postcss: 8.5.6 + postcss-load-config: 4.0.2(postcss@8.5.6) tailwindcss: 4.1.11 transitivePeerDependencies: - ts-node '@astrojs/telemetry@3.3.0': dependencies: - ci-info: 4.4.0 + ci-info: 4.3.1 debug: 4.4.3 dlv: 1.1.3 dset: 3.1.4 is-docker: 3.0.0 - is-wsl: 3.1.1 + is-wsl: 3.1.0 which-pm-runs: 1.1.0 transitivePeerDependencies: - supports-color - '@astrojs/vercel@8.1.4(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(react@18.3.1)(rollup@4.60.0)(svelte@4.2.19)': + '@astrojs/vercel@8.1.4(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))(react@18.3.1)(rollup@4.60.2)(svelte@4.2.19)': dependencies: '@astrojs/internal-helpers': 0.6.1 '@vercel/analytics': 1.6.1(react@18.3.1)(svelte@4.2.19) '@vercel/edge': 1.2.1 - '@vercel/nft': 0.29.2(rollup@4.60.0) + '@vercel/nft': 0.29.2(rollup@4.60.2) '@vercel/routing-utils': 5.0.4 - astro: 5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) + astro: 5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) esbuild: 0.25.3 tinyglobby: 0.2.12 transitivePeerDependencies: @@ -8151,7 +8030,7 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/code-frame@7.29.0': + '@babel/code-frame@7.28.6': dependencies: '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 @@ -8198,7 +8077,7 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: '@babel/traverse': 7.27.1 - '@babel/types': 7.29.0 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color @@ -8230,9 +8109,9 @@ snapshots: dependencies: '@babel/types': 7.28.4 - '@babel/parser@7.29.2': + '@babel/parser@7.28.5': dependencies: - '@babel/types': 7.29.0 + '@babel/types': 7.28.5 '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.1)': dependencies: @@ -8246,7 +8125,7 @@ snapshots: '@babel/runtime@7.27.1': {} - '@babel/runtime@7.29.2': {} + '@babel/runtime@7.28.6': {} '@babel/template@7.27.1': dependencies: @@ -8271,7 +8150,7 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@babel/types@7.29.0': + '@babel/types@7.28.5': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 @@ -8389,7 +8268,7 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.1': + '@emnapi/runtime@1.7.1': dependencies: tslib: 2.8.1 optional: true @@ -8457,10 +8336,7 @@ snapshots: '@esbuild/aix-ppc64@0.25.3': optional: true - '@esbuild/aix-ppc64@0.27.4': - optional: true - - '@esbuild/aix-ppc64@0.28.0': + '@esbuild/aix-ppc64@0.27.2': optional: true '@esbuild/android-arm64@0.25.0': @@ -8472,10 +8348,7 @@ snapshots: '@esbuild/android-arm64@0.25.3': optional: true - '@esbuild/android-arm64@0.27.4': - optional: true - - '@esbuild/android-arm64@0.28.0': + '@esbuild/android-arm64@0.27.2': optional: true '@esbuild/android-arm@0.25.0': @@ -8487,10 +8360,7 @@ snapshots: '@esbuild/android-arm@0.25.3': optional: true - '@esbuild/android-arm@0.27.4': - optional: true - - '@esbuild/android-arm@0.28.0': + '@esbuild/android-arm@0.27.2': optional: true '@esbuild/android-x64@0.25.0': @@ -8502,10 +8372,7 @@ snapshots: '@esbuild/android-x64@0.25.3': optional: true - '@esbuild/android-x64@0.27.4': - optional: true - - '@esbuild/android-x64@0.28.0': + '@esbuild/android-x64@0.27.2': optional: true '@esbuild/darwin-arm64@0.25.0': @@ -8517,10 +8384,7 @@ snapshots: '@esbuild/darwin-arm64@0.25.3': optional: true - '@esbuild/darwin-arm64@0.27.4': - optional: true - - '@esbuild/darwin-arm64@0.28.0': + '@esbuild/darwin-arm64@0.27.2': optional: true '@esbuild/darwin-x64@0.25.0': @@ -8532,10 +8396,7 @@ snapshots: '@esbuild/darwin-x64@0.25.3': optional: true - '@esbuild/darwin-x64@0.27.4': - optional: true - - '@esbuild/darwin-x64@0.28.0': + '@esbuild/darwin-x64@0.27.2': optional: true '@esbuild/freebsd-arm64@0.25.0': @@ -8547,10 +8408,7 @@ snapshots: '@esbuild/freebsd-arm64@0.25.3': optional: true - '@esbuild/freebsd-arm64@0.27.4': - optional: true - - '@esbuild/freebsd-arm64@0.28.0': + '@esbuild/freebsd-arm64@0.27.2': optional: true '@esbuild/freebsd-x64@0.25.0': @@ -8562,10 +8420,7 @@ snapshots: '@esbuild/freebsd-x64@0.25.3': optional: true - '@esbuild/freebsd-x64@0.27.4': - optional: true - - '@esbuild/freebsd-x64@0.28.0': + '@esbuild/freebsd-x64@0.27.2': optional: true '@esbuild/linux-arm64@0.25.0': @@ -8577,10 +8432,7 @@ snapshots: '@esbuild/linux-arm64@0.25.3': optional: true - '@esbuild/linux-arm64@0.27.4': - optional: true - - '@esbuild/linux-arm64@0.28.0': + '@esbuild/linux-arm64@0.27.2': optional: true '@esbuild/linux-arm@0.25.0': @@ -8592,10 +8444,7 @@ snapshots: '@esbuild/linux-arm@0.25.3': optional: true - '@esbuild/linux-arm@0.27.4': - optional: true - - '@esbuild/linux-arm@0.28.0': + '@esbuild/linux-arm@0.27.2': optional: true '@esbuild/linux-ia32@0.25.0': @@ -8607,10 +8456,7 @@ snapshots: '@esbuild/linux-ia32@0.25.3': optional: true - '@esbuild/linux-ia32@0.27.4': - optional: true - - '@esbuild/linux-ia32@0.28.0': + '@esbuild/linux-ia32@0.27.2': optional: true '@esbuild/linux-loong64@0.25.0': @@ -8622,10 +8468,7 @@ snapshots: '@esbuild/linux-loong64@0.25.3': optional: true - '@esbuild/linux-loong64@0.27.4': - optional: true - - '@esbuild/linux-loong64@0.28.0': + '@esbuild/linux-loong64@0.27.2': optional: true '@esbuild/linux-mips64el@0.25.0': @@ -8637,10 +8480,7 @@ snapshots: '@esbuild/linux-mips64el@0.25.3': optional: true - '@esbuild/linux-mips64el@0.27.4': - optional: true - - '@esbuild/linux-mips64el@0.28.0': + '@esbuild/linux-mips64el@0.27.2': optional: true '@esbuild/linux-ppc64@0.25.0': @@ -8652,10 +8492,7 @@ snapshots: '@esbuild/linux-ppc64@0.25.3': optional: true - '@esbuild/linux-ppc64@0.27.4': - optional: true - - '@esbuild/linux-ppc64@0.28.0': + '@esbuild/linux-ppc64@0.27.2': optional: true '@esbuild/linux-riscv64@0.25.0': @@ -8667,10 +8504,7 @@ snapshots: '@esbuild/linux-riscv64@0.25.3': optional: true - '@esbuild/linux-riscv64@0.27.4': - optional: true - - '@esbuild/linux-riscv64@0.28.0': + '@esbuild/linux-riscv64@0.27.2': optional: true '@esbuild/linux-s390x@0.25.0': @@ -8682,10 +8516,7 @@ snapshots: '@esbuild/linux-s390x@0.25.3': optional: true - '@esbuild/linux-s390x@0.27.4': - optional: true - - '@esbuild/linux-s390x@0.28.0': + '@esbuild/linux-s390x@0.27.2': optional: true '@esbuild/linux-x64@0.25.0': @@ -8697,10 +8528,7 @@ snapshots: '@esbuild/linux-x64@0.25.3': optional: true - '@esbuild/linux-x64@0.27.4': - optional: true - - '@esbuild/linux-x64@0.28.0': + '@esbuild/linux-x64@0.27.2': optional: true '@esbuild/netbsd-arm64@0.25.0': @@ -8712,10 +8540,7 @@ snapshots: '@esbuild/netbsd-arm64@0.25.3': optional: true - '@esbuild/netbsd-arm64@0.27.4': - optional: true - - '@esbuild/netbsd-arm64@0.28.0': + '@esbuild/netbsd-arm64@0.27.2': optional: true '@esbuild/netbsd-x64@0.25.0': @@ -8727,10 +8552,7 @@ snapshots: '@esbuild/netbsd-x64@0.25.3': optional: true - '@esbuild/netbsd-x64@0.27.4': - optional: true - - '@esbuild/netbsd-x64@0.28.0': + '@esbuild/netbsd-x64@0.27.2': optional: true '@esbuild/openbsd-arm64@0.25.0': @@ -8742,10 +8564,7 @@ snapshots: '@esbuild/openbsd-arm64@0.25.3': optional: true - '@esbuild/openbsd-arm64@0.27.4': - optional: true - - '@esbuild/openbsd-arm64@0.28.0': + '@esbuild/openbsd-arm64@0.27.2': optional: true '@esbuild/openbsd-x64@0.25.0': @@ -8757,19 +8576,13 @@ snapshots: '@esbuild/openbsd-x64@0.25.3': optional: true - '@esbuild/openbsd-x64@0.27.4': - optional: true - - '@esbuild/openbsd-x64@0.28.0': + '@esbuild/openbsd-x64@0.27.2': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.4': - optional: true - - '@esbuild/openharmony-arm64@0.28.0': + '@esbuild/openharmony-arm64@0.27.2': optional: true '@esbuild/sunos-x64@0.25.0': @@ -8781,10 +8594,7 @@ snapshots: '@esbuild/sunos-x64@0.25.3': optional: true - '@esbuild/sunos-x64@0.27.4': - optional: true - - '@esbuild/sunos-x64@0.28.0': + '@esbuild/sunos-x64@0.27.2': optional: true '@esbuild/win32-arm64@0.25.0': @@ -8796,10 +8606,7 @@ snapshots: '@esbuild/win32-arm64@0.25.3': optional: true - '@esbuild/win32-arm64@0.27.4': - optional: true - - '@esbuild/win32-arm64@0.28.0': + '@esbuild/win32-arm64@0.27.2': optional: true '@esbuild/win32-ia32@0.25.0': @@ -8811,10 +8618,7 @@ snapshots: '@esbuild/win32-ia32@0.25.3': optional: true - '@esbuild/win32-ia32@0.27.4': - optional: true - - '@esbuild/win32-ia32@0.28.0': + '@esbuild/win32-ia32@0.27.2': optional: true '@esbuild/win32-x64@0.25.0': @@ -8826,10 +8630,7 @@ snapshots: '@esbuild/win32-x64@0.25.3': optional: true - '@esbuild/win32-x64@0.27.4': - optional: true - - '@esbuild/win32-x64@0.28.0': + '@esbuild/win32-x64@0.27.2': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': @@ -8862,9 +8663,9 @@ snapshots: hast-util-to-html: 9.0.5 hast-util-to-text: 4.0.2 hastscript: 9.0.1 - postcss: 8.5.8 - postcss-nested: 6.2.0(postcss@8.5.8) - unist-util-visit: 5.1.0 + postcss: 8.5.6 + postcss-nested: 6.2.0(postcss@8.5.6) + unist-util-visit: 5.0.0 unist-util-visit-parents: 6.0.2 '@expressive-code/plugin-frames@0.40.2': @@ -8899,15 +8700,15 @@ snapshots: '@fontsource/raleway@5.2.5': {} - '@hono/mcp@0.2.2(@modelcontextprotocol/sdk@1.27.1(zod@4.1.13))(hono-rate-limiter@0.4.2(hono@4.12.14))(hono@4.12.14)(zod@4.1.13)': + '@hono/mcp@0.2.2(@modelcontextprotocol/sdk@1.29.0(zod@4.1.13))(hono-rate-limiter@0.4.2(hono@4.12.14))(hono@4.12.14)(zod@4.1.13)': dependencies: - '@modelcontextprotocol/sdk': 1.27.1(zod@4.1.13) + '@modelcontextprotocol/sdk': 1.29.0(zod@4.1.13) hono: 4.12.14 hono-rate-limiter: 0.4.2(hono@4.12.14) pkce-challenge: 5.0.0 zod: 4.1.13 - '@hono/node-server@1.19.10(hono@4.12.14)': + '@hono/node-server@1.19.14(hono@4.12.14)': dependencies: hono: 4.12.14 @@ -8923,7 +8724,7 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@img/colour@1.1.0': + '@img/colour@1.0.0': optional: true '@img/sharp-darwin-arm64@0.33.5': @@ -9077,7 +8878,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.9.1 + '@emnapi/runtime': 1.7.1 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -9099,7 +8900,7 @@ snapshots: dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 - strip-ansi: 7.2.0 + strip-ansi: 7.1.2 strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 @@ -9142,7 +8943,7 @@ snapshots: dependencies: debug: 4.4.3 fs-extra: 9.1.0 - lodash: 4.17.23 + lodash: 4.18.1 tmp-promise: 3.0.3 transitivePeerDependencies: - supports-color @@ -9154,8 +8955,8 @@ snapshots: https-proxy-agent: 7.0.6 node-fetch: 2.7.0 nopt: 8.1.0 - semver: 7.7.4 - tar: 7.5.11 + semver: 7.7.3 + tar: 7.5.13 transitivePeerDependencies: - encoding - supports-color @@ -9166,7 +8967,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 - acorn: 8.16.0 + acorn: 8.15.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -9175,7 +8976,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.0 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.0(acorn@8.16.0) + recma-jsx: 1.0.0(acorn@8.15.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.0.1 @@ -9185,7 +8986,7 @@ snapshots: unified: 11.0.5 unist-util-position-from-estree: 2.0.0 unist-util-stringify-position: 4.0.0 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 vfile: 6.0.3 transitivePeerDependencies: - supports-color @@ -9217,7 +9018,7 @@ snapshots: '@rushstack/rig-package': 0.5.3 '@rushstack/terminal': 0.15.3(@types/node@22.15.28) '@rushstack/ts-command-line': 5.0.1(@types/node@22.15.28) - lodash: 4.17.23 + lodash: 4.18.1 minimatch: 3.1.5 resolve: 1.22.10 semver: 7.5.4 @@ -9235,9 +9036,9 @@ snapshots: '@microsoft/tsdoc@0.15.1': {} - '@modelcontextprotocol/sdk@1.27.1(zod@4.1.13)': + '@modelcontextprotocol/sdk@1.29.0(zod@4.1.13)': dependencies: - '@hono/node-server': 1.19.10(hono@4.12.14) + '@hono/node-server': 1.19.14(hono@4.12.14) ajv: 8.18.0 ajv-formats: 3.0.1(ajv@8.18.0) content-type: 1.0.5 @@ -9246,7 +9047,7 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.6 express: 5.2.1 - express-rate-limit: 8.3.1(express@5.2.1) + express-rate-limit: 8.3.2(express@5.2.1) hono: 4.12.14 jose: 6.1.3 json-schema-typed: 8.0.2 @@ -9271,21 +9072,43 @@ snapshots: '@one-ini/wasm@0.1.1': {} + '@opentelemetry/api-logs@0.207.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.208.0': dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.210.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api@1.9.0': {} '@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.37.0 + + '@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/instrumentation-amqplib@0.55.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9294,6 +9117,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-amqplib@0.57.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-connect@0.52.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9304,6 +9136,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-connect@0.53.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + '@types/connect': 3.4.38 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-dataloader@0.26.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9311,6 +9153,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-dataloader@0.27.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-express@0.57.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9320,6 +9169,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-express@0.58.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-fs@0.28.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9328,6 +9186,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-fs@0.29.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-generic-pool@0.52.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9335,6 +9201,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-generic-pool@0.53.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-graphql@0.56.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9342,6 +9215,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-graphql@0.57.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-hapi@0.55.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9351,6 +9231,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-hapi@0.56.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-http@0.208.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9361,6 +9250,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-http@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + forwarded-parse: 2.1.2 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-ioredis@0.56.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9369,6 +9268,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-ioredis@0.58.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/redis-common': 0.38.2 + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-kafkajs@0.18.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9377,6 +9285,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-kafkajs@0.19.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-knex@0.53.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9385,6 +9301,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-knex@0.54.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-koa@0.57.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9394,6 +9318,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-koa@0.58.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-lru-memoizer@0.53.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9401,6 +9334,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-lru-memoizer@0.54.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-mongodb@0.61.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9408,6 +9348,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-mongodb@0.63.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-mongoose@0.55.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9416,6 +9364,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-mongoose@0.56.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-mysql2@0.55.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9425,6 +9382,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-mysql2@0.56.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-mysql@0.54.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9433,6 +9399,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-mysql@0.56.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + '@types/mysql': 2.15.27 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-pg@0.61.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9445,6 +9420,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-pg@0.62.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) + '@types/pg': 8.15.6 + '@types/pg-pool': 2.0.7 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-redis@0.57.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9454,6 +9441,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-redis@0.58.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/redis-common': 0.38.2 + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-tedious@0.27.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9462,6 +9458,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-tedious@0.29.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + '@types/tedious': 4.0.14 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-undici@0.19.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9471,6 +9476,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-undici@0.20.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation@0.207.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.207.0 + import-in-the-middle: 2.0.5 + require-in-the-middle: 8.0.1 + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation@0.208.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9480,6 +9503,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation@0.210.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.210.0 + import-in-the-middle: 2.0.5 + require-in-the-middle: 8.0.1 + transitivePeerDependencies: + - supports-color + '@opentelemetry/redis-common@0.38.2': {} '@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0)': @@ -9488,6 +9520,12 @@ snapshots: '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/resources@2.5.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9495,6 +9533,13 @@ snapshots: '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.37.0 + '@opentelemetry/semantic-conventions@1.37.0': {} '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.0)': @@ -9537,6 +9582,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@prisma/instrumentation@7.2.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.207.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@radix-ui/primitive@1.1.2': {} '@radix-ui/react-arrow@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -9776,210 +9828,135 @@ snapshots: '@types/react': 18.3.20 '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.3.20)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.20 - - '@radix-ui/react-use-rect@1.1.1(@types/react@18.3.20)(react@18.3.1)': - dependencies: - '@radix-ui/rect': 1.1.1 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.20 - - '@radix-ui/react-use-size@1.1.1(@types/react@18.3.20)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.20)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.20 - - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.20 - '@types/react-dom': 18.3.7(@types/react@18.3.20) - - '@radix-ui/rect@1.1.1': {} - - '@remix-run/router@1.23.2': {} - - '@rollup/pluginutils@5.1.2(rollup@4.60.0)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 2.3.2 - optionalDependencies: - rollup: 4.60.0 - - '@rollup/pluginutils@5.1.4(rollup@4.60.0)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.60.0 - - '@rollup/pluginutils@5.3.0(rollup@4.60.0)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.60.0 - - '@rollup/rollup-android-arm-eabi@4.59.0': - optional: true - - '@rollup/rollup-android-arm-eabi@4.60.0': - optional: true - - '@rollup/rollup-android-arm64@4.59.0': - optional: true - - '@rollup/rollup-android-arm64@4.60.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.59.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.60.0': - optional: true - - '@rollup/rollup-darwin-x64@4.59.0': - optional: true - - '@rollup/rollup-darwin-x64@4.60.0': - optional: true - - '@rollup/rollup-freebsd-arm64@4.59.0': - optional: true - - '@rollup/rollup-freebsd-arm64@4.60.0': - optional: true - - '@rollup/rollup-freebsd-x64@4.59.0': - optional: true - - '@rollup/rollup-freebsd-x64@4.60.0': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.60.0': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.59.0': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.60.0': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.59.0': - optional: true + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.20 - '@rollup/rollup-linux-arm64-gnu@4.60.0': - optional: true + '@radix-ui/react-use-rect@1.1.1(@types/react@18.3.20)(react@18.3.1)': + dependencies: + '@radix-ui/rect': 1.1.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.20 - '@rollup/rollup-linux-arm64-musl@4.59.0': - optional: true + '@radix-ui/react-use-size@1.1.1(@types/react@18.3.20)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.20)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.20 - '@rollup/rollup-linux-arm64-musl@4.60.0': - optional: true + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.20 + '@types/react-dom': 18.3.7(@types/react@18.3.20) - '@rollup/rollup-linux-loong64-gnu@4.59.0': - optional: true + '@radix-ui/rect@1.1.1': {} - '@rollup/rollup-linux-loong64-gnu@4.60.0': - optional: true + '@remix-run/router@1.23.2': {} - '@rollup/rollup-linux-loong64-musl@4.59.0': - optional: true + '@rollup/pluginutils@5.1.2(rollup@4.60.2)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.60.2 - '@rollup/rollup-linux-loong64-musl@4.60.0': - optional: true + '@rollup/pluginutils@5.1.4(rollup@4.60.2)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.60.2 - '@rollup/rollup-linux-ppc64-gnu@4.59.0': - optional: true + '@rollup/pluginutils@5.3.0(rollup@4.60.2)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.60.2 - '@rollup/rollup-linux-ppc64-gnu@4.60.0': + '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.59.0': + '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.0': + '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.59.0': + '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.0': + '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.59.0': + '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.0': + '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.59.0': + '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.0': + '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.59.0': + '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.0': + '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.59.0': + '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.0': + '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.59.0': + '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.0': + '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.59.0': + '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.0': + '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.59.0': + '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.0': + '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.59.0': + '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.0': + '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.59.0': + '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.0': + '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.59.0': + '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.0': + '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true '@rushstack/node-core-library@5.13.1(@types/node@22.15.28)': @@ -9987,7 +9964,7 @@ snapshots: ajv: 8.18.0 ajv-draft-04: 1.0.0(ajv@8.18.0) ajv-formats: 3.0.1(ajv@8.18.0) - fs-extra: 11.3.4 + fs-extra: 11.3.0 import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.22.10 @@ -10020,52 +9997,52 @@ snapshots: dependencies: '@sentry/core': 10.29.0 - '@sentry-internal/browser-utils@10.32.1': + '@sentry-internal/browser-utils@10.36.0': dependencies: - '@sentry/core': 10.32.1 + '@sentry/core': 10.36.0 '@sentry-internal/feedback@10.29.0': dependencies: '@sentry/core': 10.29.0 - '@sentry-internal/feedback@10.32.1': + '@sentry-internal/feedback@10.36.0': dependencies: - '@sentry/core': 10.32.1 + '@sentry/core': 10.36.0 '@sentry-internal/replay-canvas@10.29.0': dependencies: '@sentry-internal/replay': 10.29.0 '@sentry/core': 10.29.0 - '@sentry-internal/replay-canvas@10.32.1': + '@sentry-internal/replay-canvas@10.36.0': dependencies: - '@sentry-internal/replay': 10.32.1 - '@sentry/core': 10.32.1 + '@sentry-internal/replay': 10.36.0 + '@sentry/core': 10.36.0 '@sentry-internal/replay@10.29.0': dependencies: '@sentry-internal/browser-utils': 10.29.0 '@sentry/core': 10.29.0 - '@sentry-internal/replay@10.32.1': + '@sentry-internal/replay@10.36.0': dependencies: - '@sentry-internal/browser-utils': 10.32.1 - '@sentry/core': 10.32.1 + '@sentry-internal/browser-utils': 10.36.0 + '@sentry/core': 10.36.0 - '@sentry/astro@10.32.1(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))': + '@sentry/astro@10.36.0(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3))': dependencies: - '@sentry/browser': 10.32.1 - '@sentry/core': 10.32.1 - '@sentry/node': 10.32.1 - '@sentry/vite-plugin': 4.6.1 - astro: 5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) + '@sentry/browser': 10.36.0 + '@sentry/core': 10.36.0 + '@sentry/node': 10.36.0 + '@sentry/vite-plugin': 4.7.0 + astro: 5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) transitivePeerDependencies: - encoding - supports-color '@sentry/babel-plugin-component-annotate@2.23.0': {} - '@sentry/babel-plugin-component-annotate@4.6.1': {} + '@sentry/babel-plugin-component-annotate@4.7.0': {} '@sentry/browser@10.29.0': dependencies: @@ -10075,13 +10052,13 @@ snapshots: '@sentry-internal/replay-canvas': 10.29.0 '@sentry/core': 10.29.0 - '@sentry/browser@10.32.1': + '@sentry/browser@10.36.0': dependencies: - '@sentry-internal/browser-utils': 10.32.1 - '@sentry-internal/feedback': 10.32.1 - '@sentry-internal/replay': 10.32.1 - '@sentry-internal/replay-canvas': 10.32.1 - '@sentry/core': 10.32.1 + '@sentry-internal/browser-utils': 10.36.0 + '@sentry-internal/feedback': 10.36.0 + '@sentry-internal/replay': 10.36.0 + '@sentry-internal/replay-canvas': 10.36.0 + '@sentry/core': 10.36.0 '@sentry/bundler-plugin-core@2.23.0': dependencies: @@ -10097,10 +10074,10 @@ snapshots: - encoding - supports-color - '@sentry/bundler-plugin-core@4.6.1': + '@sentry/bundler-plugin-core@4.7.0': dependencies: '@babel/core': 7.27.1 - '@sentry/babel-plugin-component-annotate': 4.6.1 + '@sentry/babel-plugin-component-annotate': 4.7.0 '@sentry/cli': 2.58.2 dotenv: 16.5.0 find-up: 5.0.0 @@ -10197,7 +10174,7 @@ snapshots: '@sentry/core@10.29.0': {} - '@sentry/core@10.32.1': {} + '@sentry/core@10.36.0': {} '@sentry/electron@7.5.0': dependencies: @@ -10223,19 +10200,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@sentry/node-core@10.32.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.208.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)': + '@sentry/node-core@10.36.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)': dependencies: '@apm-js-collab/tracing-hooks': 0.3.1 '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.37.0 - '@sentry/core': 10.32.1 - '@sentry/opentelemetry': 10.32.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) - import-in-the-middle: 2.0.0 + '@sentry/core': 10.36.0 + '@sentry/opentelemetry': 10.36.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) + import-in-the-middle: 2.0.5 transitivePeerDependencies: - supports-color @@ -10279,42 +10256,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@sentry/node@10.32.1': + '@sentry/node@10.36.0': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-amqplib': 0.55.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-connect': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-dataloader': 0.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-express': 0.57.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-fs': 0.28.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-generic-pool': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-graphql': 0.56.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-hapi': 0.55.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-http': 0.208.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-ioredis': 0.56.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-kafkajs': 0.18.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-knex': 0.53.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-koa': 0.57.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-lru-memoizer': 0.53.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mongodb': 0.61.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mongoose': 0.55.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mysql': 0.54.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mysql2': 0.55.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-pg': 0.61.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-redis': 0.57.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-tedious': 0.27.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-undici': 0.19.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-amqplib': 0.57.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-connect': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-dataloader': 0.27.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-express': 0.58.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-fs': 0.29.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-generic-pool': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-graphql': 0.57.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-hapi': 0.56.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-http': 0.210.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-ioredis': 0.58.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-kafkajs': 0.19.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-knex': 0.54.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-koa': 0.58.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-lru-memoizer': 0.54.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongodb': 0.63.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongoose': 0.56.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql': 0.56.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql2': 0.56.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-pg': 0.62.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-redis': 0.58.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-tedious': 0.29.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-undici': 0.20.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.37.0 - '@prisma/instrumentation': 6.19.0(@opentelemetry/api@1.9.0) - '@sentry/core': 10.32.1 - '@sentry/node-core': 10.32.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.208.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) - '@sentry/opentelemetry': 10.32.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) - import-in-the-middle: 2.0.0 + '@prisma/instrumentation': 7.2.0(@opentelemetry/api@1.9.0) + '@sentry/core': 10.36.0 + '@sentry/node-core': 10.36.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.210.0(@opentelemetry/api@1.9.0))(@opentelemetry/resources@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) + '@sentry/opentelemetry': 10.36.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0) + import-in-the-middle: 2.0.5 minimatch: 9.0.9 transitivePeerDependencies: - supports-color @@ -10328,20 +10305,19 @@ snapshots: '@opentelemetry/semantic-conventions': 1.37.0 '@sentry/core': 10.29.0 - '@sentry/opentelemetry@10.32.1(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)': + '@sentry/opentelemetry@10.36.0(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.37.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.5.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.5.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.37.0 - '@sentry/core': 10.32.1 + '@sentry/core': 10.36.0 - '@sentry/react@10.32.1(react@18.3.1)': + '@sentry/react@10.36.0(react@18.3.1)': dependencies: - '@sentry/browser': 10.32.1 - '@sentry/core': 10.32.1 - hoist-non-react-statics: 3.3.2 + '@sentry/browser': 10.36.0 + '@sentry/core': 10.36.0 react: 18.3.1 '@sentry/vite-plugin@2.23.0': @@ -10352,9 +10328,9 @@ snapshots: - encoding - supports-color - '@sentry/vite-plugin@4.6.1': + '@sentry/vite-plugin@4.7.0': dependencies: - '@sentry/bundler-plugin-core': 4.6.1 + '@sentry/bundler-plugin-core': 4.7.0 unplugin: 1.0.1 transitivePeerDependencies: - encoding @@ -10376,6 +10352,13 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 + '@shikijs/core@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + '@shikijs/core@3.23.0': dependencies: '@shikijs/types': 3.23.0 @@ -10395,11 +10378,17 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 + '@shikijs/engine-javascript@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.3 + '@shikijs/engine-javascript@3.23.0': dependencies: '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 - oniguruma-to-es: 4.3.5 + oniguruma-to-es: 4.3.6 '@shikijs/engine-oniguruma@1.29.2': dependencies: @@ -10411,6 +10400,11 @@ snapshots: '@shikijs/types': 3.13.0 '@shikijs/vscode-textmate': 10.0.2 + '@shikijs/engine-oniguruma@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + '@shikijs/engine-oniguruma@3.23.0': dependencies: '@shikijs/types': 3.23.0 @@ -10424,6 +10418,10 @@ snapshots: dependencies: '@shikijs/types': 3.13.0 + '@shikijs/langs@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/langs@3.23.0': dependencies: '@shikijs/types': 3.23.0 @@ -10436,6 +10434,10 @@ snapshots: dependencies: '@shikijs/types': 3.13.0 + '@shikijs/themes@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/themes@3.23.0': dependencies: '@shikijs/types': 3.23.0 @@ -10455,6 +10457,11 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 + '@shikijs/types@3.15.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + '@shikijs/types@3.23.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 @@ -10595,7 +10602,7 @@ snapshots: '@tailwindcss/oxide@4.1.11': dependencies: detect-libc: 2.1.2 - tar: 7.5.11 + tar: 7.5.13 optionalDependencies: '@tailwindcss/oxide-android-arm64': 4.1.11 '@tailwindcss/oxide-darwin-arm64': 4.1.11 @@ -10625,17 +10632,17 @@ snapshots: tailwindcss: 4.1.11 vite: 5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1) - '@tailwindcss/vite@4.1.11(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3))': + '@tailwindcss/vite@4.1.11(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) + vite: 6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) '@testing-library/dom@10.4.1': dependencies: - '@babel/code-frame': 7.29.0 - '@babel/runtime': 7.29.2 + '@babel/code-frame': 7.28.6 + '@babel/runtime': 7.28.6 '@types/aria-query': 5.0.4 aria-query: 5.3.0 dom-accessibility-api: 0.5.16 @@ -10699,9 +10706,9 @@ snapshots: '@types/cacheable-request@6.0.3': dependencies: - '@types/http-cache-semantics': 4.2.0 + '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/responselike': 1.0.3 '@types/chai-subset@1.3.5': @@ -10716,7 +10723,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/debug@4.1.12': dependencies: @@ -10732,18 +10739,18 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 - '@types/http-cache-semantics@4.2.0': {} + '@types/http-cache-semantics@4.0.4': {} '@types/istanbul-lib-coverage@2.0.6': {} @@ -10753,7 +10760,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/lodash@4.17.13': {} @@ -10773,7 +10780,7 @@ snapshots: '@types/mysql@2.15.27': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/nlcst@2.0.3': dependencies: @@ -10785,13 +10792,17 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@24.7.2': + '@types/node@22.18.0': dependencies: - undici-types: 7.14.0 + undici-types: 6.21.0 + + '@types/node@24.10.1': + dependencies: + undici-types: 7.16.0 - '@types/node@25.5.0': + '@types/node@24.7.2': dependencies: - undici-types: 7.18.2 + undici-types: 7.14.0 '@types/parse-json@4.0.2': {} @@ -10799,15 +10810,19 @@ snapshots: dependencies: '@types/pg': 8.15.6 + '@types/pg-pool@2.0.7': + dependencies: + '@types/pg': 8.15.6 + '@types/pg@8.15.6': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 pg-protocol: 1.9.5 pg-types: 2.2.0 '@types/plist@3.0.5': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 xmlbuilder: 15.1.1 optional: true @@ -10824,17 +10839,17 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/sax@1.2.7': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/semver@7.7.1': {} '@types/tedious@4.0.14': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/unist@2.0.11': {} @@ -10847,11 +10862,11 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/yauzl@2.10.3': dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 optional: true '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1)(typescript@5.9.2)': @@ -10949,19 +10964,19 @@ snapshots: '@vercel/edge@1.2.1': {} - '@vercel/nft@0.29.2(rollup@4.60.0)': + '@vercel/nft@0.29.2(rollup@4.60.2)': dependencies: '@mapbox/node-pre-gyp': 2.0.0 - '@rollup/pluginutils': 5.3.0(rollup@4.60.0) - acorn: 8.16.0 - acorn-import-attributes: 1.9.5(acorn@8.16.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.2) + acorn: 8.15.0 + acorn-import-attributes: 1.9.5(acorn@8.15.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 glob: 10.5.0 graceful-fs: 4.2.11 node-gyp-build: 4.8.2 - picomatch: 4.0.4 + picomatch: 4.0.3 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -10986,18 +11001,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.4.1(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3))': + '@vitejs/plugin-react@4.4.1(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.1) '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) + vite: 6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@0.34.6(vitest@0.34.6(happy-dom@20.8.9)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1))': + '@vitest/coverage-v8@0.34.6(vitest@0.34.6(happy-dom@20.9.0)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -11010,7 +11025,7 @@ snapshots: std-env: 3.9.0 test-exclude: 6.0.0 v8-to-istanbul: 9.3.0 - vitest: 0.34.6(happy-dom@20.8.9)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1) + vitest: 0.34.6(happy-dom@20.9.0)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1) transitivePeerDependencies: - supports-color @@ -11056,7 +11071,7 @@ snapshots: '@vue/compiler-core@3.5.11': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.28.5 '@vue/shared': 3.5.11 entities: 4.5.0 estree-walker: 2.0.2 @@ -11102,26 +11117,16 @@ snapshots: dependencies: acorn: 8.15.0 - acorn-import-attributes@1.9.5(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - acorn-walk@8.3.4: dependencies: acorn: 8.15.0 acorn@8.15.0: {} - acorn@8.16.0: {} - agent-base@6.0.2: dependencies: debug: 4.4.3 @@ -11183,7 +11188,7 @@ snapshots: anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.2 + picomatch: 2.3.1 app-builder-bin@4.0.0: {} @@ -11216,7 +11221,7 @@ snapshots: read-config-file: 6.3.2 sanitize-filename: 1.6.3 semver: 7.7.3 - tar: 7.5.11 + tar: 7.5.13 temp-file: 3.4.0 transitivePeerDependencies: - supports-color @@ -11289,37 +11294,37 @@ snapshots: astring@1.9.0: {} - astro-expressive-code@0.40.2(astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)): + astro-expressive-code@0.40.2(astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3)): dependencies: - astro: 5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) + astro: 5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3) rehype-expressive-code: 0.40.2 - astro@5.18.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.0)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3): + astro@5.18.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(rollup@4.60.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.3): dependencies: - '@astrojs/compiler': 2.13.1 + '@astrojs/compiler': 2.13.0 '@astrojs/internal-helpers': 0.7.6 '@astrojs/markdown-remark': 6.3.11 '@astrojs/telemetry': 3.3.0 '@capsizecss/unpack': 4.0.0 '@oslojs/encoding': 1.1.0 - '@rollup/pluginutils': 5.3.0(rollup@4.60.0) - acorn: 8.16.0 + '@rollup/pluginutils': 5.3.0(rollup@4.60.2) + acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 boxen: 8.0.1 - ci-info: 4.4.0 + ci-info: 4.3.1 clsx: 2.1.1 common-ancestor-path: 1.0.1 cookie: 1.1.1 cssesc: 3.0.0 debug: 4.4.3 deterministic-object-hash: 2.0.2 - devalue: 5.6.4 - diff: 8.0.4 + devalue: 5.7.1 + diff: 8.0.3 dlv: 1.1.3 dset: 3.1.4 es-module-lexer: 1.7.0 - esbuild: 0.27.4 + esbuild: 0.27.2 estree-walker: 3.0.3 flattie: 1.1.1 fontace: 0.4.1 @@ -11329,35 +11334,35 @@ snapshots: import-meta-resolve: 4.2.0 js-yaml: 4.1.1 magic-string: 0.30.21 - magicast: 0.5.2 + magicast: 0.5.1 mrmime: 2.0.1 neotraverse: 0.6.18 p-limit: 6.2.0 p-queue: 8.1.1 package-manager-detector: 1.6.0 piccolore: 0.1.3 - picomatch: 4.0.4 + picomatch: 4.0.3 prompts: 2.4.2 rehype: 13.0.2 - semver: 7.7.4 + semver: 7.7.3 shiki: 3.23.0 smol-toml: 1.6.1 svgo: 4.0.1 - tinyexec: 1.0.4 + tinyexec: 1.0.2 tinyglobby: 0.2.15 tsconfck: 3.1.6(typescript@5.9.2) ultrahtml: 1.6.0 unifont: 0.7.4 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 unstorage: 1.17.5 vfile: 6.0.3 - vite: 6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) - vitefu: 1.1.2(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) + vite: 6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) + vitefu: 1.1.1(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)) xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 yocto-spinner: 0.2.3 zod: 3.25.76 - zod-to-json-schema: 3.25.2(zod@3.25.76) + zod-to-json-schema: 3.25.1(zod@3.25.76) zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76) optionalDependencies: sharp: 0.34.5 @@ -11411,23 +11416,23 @@ snapshots: stubborn-fs: 1.2.5 when-exit: 2.1.3 - autoprefixer@10.4.21(postcss@8.5.10): + autoprefixer@10.4.21(postcss@8.5.6): dependencies: browserslist: 4.24.4 caniuse-lite: 1.0.30001751 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.10 + postcss: 8.5.6 postcss-value-parser: 4.2.0 - autoprefixer@10.5.0(postcss@8.5.10): + autoprefixer@10.4.23(postcss@8.5.6): dependencies: - browserslist: 4.28.2 - caniuse-lite: 1.0.30001788 + browserslist: 4.28.1 + caniuse-lite: 1.0.30001764 fraction.js: 5.3.4 picocolors: 1.1.1 - postcss: 8.5.10 + postcss: 8.5.6 postcss-value-parser: 4.2.0 axobject-query@4.1.0: {} @@ -11453,7 +11458,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.10.19: {} + baseline-browser-mapping@2.9.14: {} bcp-47-match@2.0.3: {} @@ -11497,7 +11502,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.1 on-finished: 2.4.1 - qs: 6.15.0 + qs: 6.15.1 raw-body: 3.0.2 type-is: 2.0.1 transitivePeerDependencies: @@ -11538,13 +11543,13 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.24.4) - browserslist@4.28.2: + browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.10.19 - caniuse-lite: 1.0.30001788 - electron-to-chromium: 1.5.338 - node-releases: 2.0.37 - update-browserslist-db: 1.2.3(browserslist@4.28.2) + baseline-browser-mapping: 2.9.14 + caniuse-lite: 1.0.30001764 + electron-to-chromium: 1.5.267 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) buffer-crc32@0.2.13: {} @@ -11630,7 +11635,7 @@ snapshots: caniuse-lite@1.0.30001751: {} - caniuse-lite@1.0.30001788: {} + caniuse-lite@1.0.30001764: {} ccount@2.0.1: {} @@ -11685,10 +11690,12 @@ snapshots: ci-info@3.9.0: {} - ci-info@4.4.0: {} + ci-info@4.3.1: {} cjs-module-lexer@1.4.3: {} + cjs-module-lexer@2.2.0: {} + class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 @@ -11728,7 +11735,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 '@types/estree': 1.0.8 - acorn: 8.16.0 + acorn: 8.15.0 estree-walker: 3.0.3 periscopic: 3.1.0 optional: true @@ -11847,7 +11854,7 @@ snapshots: convert-source-map@2.0.0: {} - cookie-es@1.2.2: {} + cookie-es@1.2.3: {} cookie-signature@1.2.2: {} @@ -11869,7 +11876,7 @@ snapshots: import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 - yaml: 1.10.3 + yaml: 1.10.2 cosmiconfig@8.3.6(typescript@5.9.2): dependencies: @@ -11923,9 +11930,9 @@ snapshots: source-map-js: 1.2.1 optional: true - css-tree@3.2.1: + css-tree@3.1.0: dependencies: - mdn-data: 2.27.1 + mdn-data: 2.12.2 source-map-js: 1.2.1 css-what@6.2.2: {} @@ -11966,10 +11973,6 @@ snapshots: dependencies: character-entities: 2.0.2 - decode-named-character-reference@1.3.0: - dependencies: - character-entities: 2.0.2 - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -12010,7 +12013,7 @@ snapshots: object-keys: 1.1.1 optional: true - defu@6.1.4: {} + defu@6.1.7: {} delayed-stream@1.0.0: {} @@ -12033,7 +12036,7 @@ snapshots: dependencies: base-64: 1.0.0 - devalue@5.6.4: {} + devalue@5.7.1: {} devlop@1.1.0: dependencies: @@ -12043,8 +12046,6 @@ snapshots: diff@8.0.3: {} - diff@8.0.4: {} - dir-compare@3.3.0: dependencies: buffer-equal: 1.0.1 @@ -12196,7 +12197,7 @@ snapshots: electron-to-chromium@1.5.145: {} - electron-to-chromium@1.5.338: {} + electron-to-chromium@1.5.267: {} electron-updater@6.6.2: dependencies: @@ -12211,10 +12212,10 @@ snapshots: transitivePeerDependencies: - supports-color - electron@39.8.5: + electron@39.8.8: dependencies: '@electron/get': 2.0.3 - '@types/node': 22.15.28 + '@types/node': 22.18.0 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -12288,7 +12289,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.16.0 + acorn: 8.15.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 @@ -12377,64 +12378,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.3 '@esbuild/win32-x64': 0.25.3 - esbuild@0.27.4: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.4 - '@esbuild/android-arm': 0.27.4 - '@esbuild/android-arm64': 0.27.4 - '@esbuild/android-x64': 0.27.4 - '@esbuild/darwin-arm64': 0.27.4 - '@esbuild/darwin-x64': 0.27.4 - '@esbuild/freebsd-arm64': 0.27.4 - '@esbuild/freebsd-x64': 0.27.4 - '@esbuild/linux-arm': 0.27.4 - '@esbuild/linux-arm64': 0.27.4 - '@esbuild/linux-ia32': 0.27.4 - '@esbuild/linux-loong64': 0.27.4 - '@esbuild/linux-mips64el': 0.27.4 - '@esbuild/linux-ppc64': 0.27.4 - '@esbuild/linux-riscv64': 0.27.4 - '@esbuild/linux-s390x': 0.27.4 - '@esbuild/linux-x64': 0.27.4 - '@esbuild/netbsd-arm64': 0.27.4 - '@esbuild/netbsd-x64': 0.27.4 - '@esbuild/openbsd-arm64': 0.27.4 - '@esbuild/openbsd-x64': 0.27.4 - '@esbuild/openharmony-arm64': 0.27.4 - '@esbuild/sunos-x64': 0.27.4 - '@esbuild/win32-arm64': 0.27.4 - '@esbuild/win32-ia32': 0.27.4 - '@esbuild/win32-x64': 0.27.4 - - esbuild@0.28.0: + esbuild@0.27.2: optionalDependencies: - '@esbuild/aix-ppc64': 0.28.0 - '@esbuild/android-arm': 0.28.0 - '@esbuild/android-arm64': 0.28.0 - '@esbuild/android-x64': 0.28.0 - '@esbuild/darwin-arm64': 0.28.0 - '@esbuild/darwin-x64': 0.28.0 - '@esbuild/freebsd-arm64': 0.28.0 - '@esbuild/freebsd-x64': 0.28.0 - '@esbuild/linux-arm': 0.28.0 - '@esbuild/linux-arm64': 0.28.0 - '@esbuild/linux-ia32': 0.28.0 - '@esbuild/linux-loong64': 0.28.0 - '@esbuild/linux-mips64el': 0.28.0 - '@esbuild/linux-ppc64': 0.28.0 - '@esbuild/linux-riscv64': 0.28.0 - '@esbuild/linux-s390x': 0.28.0 - '@esbuild/linux-x64': 0.28.0 - '@esbuild/netbsd-arm64': 0.28.0 - '@esbuild/netbsd-x64': 0.28.0 - '@esbuild/openbsd-arm64': 0.28.0 - '@esbuild/openbsd-x64': 0.28.0 - '@esbuild/openharmony-arm64': 0.28.0 - '@esbuild/sunos-x64': 0.28.0 - '@esbuild/win32-arm64': 0.28.0 - '@esbuild/win32-ia32': 0.28.0 - '@esbuild/win32-x64': 0.28.0 - optional: true + '@esbuild/aix-ppc64': 0.27.2 + '@esbuild/android-arm': 0.27.2 + '@esbuild/android-arm64': 0.27.2 + '@esbuild/android-x64': 0.27.2 + '@esbuild/darwin-arm64': 0.27.2 + '@esbuild/darwin-x64': 0.27.2 + '@esbuild/freebsd-arm64': 0.27.2 + '@esbuild/freebsd-x64': 0.27.2 + '@esbuild/linux-arm': 0.27.2 + '@esbuild/linux-arm64': 0.27.2 + '@esbuild/linux-ia32': 0.27.2 + '@esbuild/linux-loong64': 0.27.2 + '@esbuild/linux-mips64el': 0.27.2 + '@esbuild/linux-ppc64': 0.27.2 + '@esbuild/linux-riscv64': 0.27.2 + '@esbuild/linux-s390x': 0.27.2 + '@esbuild/linux-x64': 0.27.2 + '@esbuild/netbsd-arm64': 0.27.2 + '@esbuild/netbsd-x64': 0.27.2 + '@esbuild/openbsd-arm64': 0.27.2 + '@esbuild/openbsd-x64': 0.27.2 + '@esbuild/openharmony-arm64': 0.27.2 + '@esbuild/sunos-x64': 0.27.2 + '@esbuild/win32-arm64': 0.27.2 + '@esbuild/win32-ia32': 0.27.2 + '@esbuild/win32-x64': 0.27.2 escalade@3.2.0: {} @@ -12559,8 +12530,6 @@ snapshots: eventemitter3@5.0.1: {} - eventemitter3@5.0.4: {} - eventsource-parser@3.0.3: {} eventsource-parser@3.0.6: {} @@ -12609,7 +12578,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - express-rate-limit@8.3.1(express@5.2.1): + express-rate-limit@8.3.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.1.0 @@ -12636,7 +12605,7 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.0 + qs: 6.15.1 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 @@ -12701,13 +12670,13 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.4.3(picomatch@4.0.4): + fdir@6.4.3(picomatch@4.0.3): optionalDependencies: - picomatch: 4.0.4 + picomatch: 4.0.3 - fdir@6.5.0(picomatch@4.0.4): + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: - picomatch: 4.0.4 + picomatch: 4.0.3 fetch-event-stream@0.1.5: {} @@ -12789,7 +12758,7 @@ snapshots: postject: 1.0.0-alpha.6 tar-stream: 3.1.7 xz-decompress: 0.2.2 - yauzl: 3.2.1 + yauzl: 3.3.0 fraction.js@4.3.7: {} @@ -12811,10 +12780,10 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 - fs-extra@11.3.4: + fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.2.0 + jsonfile: 6.1.0 universalify: 2.0.1 fs-extra@8.1.0: @@ -12844,7 +12813,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.5.0: {} + get-east-asian-width@1.4.0: {} get-func-name@2.0.2: {} @@ -12872,7 +12841,7 @@ snapshots: get-stream@5.2.0: dependencies: - pump: 3.0.4 + pump: 3.0.3 get-stream@6.0.1: {} @@ -12882,7 +12851,7 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 - get-tsconfig@4.14.0: + get-tsconfig@4.13.0: dependencies: resolve-pkg-maps: 1.0.0 optional: true @@ -12937,7 +12906,7 @@ snapshots: es6-error: 4.1.1 matcher: 3.0.0 roarr: 2.15.4 - semver: 7.7.4 + semver: 7.7.3 serialize-error: 7.0.1 optional: true @@ -12987,11 +12956,11 @@ snapshots: js-base64: 3.7.8 unicode-trie: 2.0.0 - h3@1.15.10: + h3@1.15.11: dependencies: - cookie-es: 1.2.2 + cookie-es: 1.2.3 crossws: 0.3.5 - defu: 6.1.4 + defu: 6.1.7 destr: 2.0.5 iron-webcrypto: 1.2.1 node-mock-http: 1.0.4 @@ -12999,9 +12968,9 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 - happy-dom@20.8.9: + happy-dom@20.9.0: dependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.1 entities: 7.0.1 @@ -13101,12 +13070,12 @@ snapshots: '@types/unist': 3.0.3 '@ungap/structured-clone': 1.3.0 hast-util-from-parse5: 8.0.3 - hast-util-to-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.2.1 parse5: 7.3.0 unist-util-position: 5.0.0 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -13185,12 +13154,12 @@ snapshots: transitivePeerDependencies: - supports-color - hast-util-to-parse5@8.0.1: + hast-util-to-parse5@8.0.0: dependencies: '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 7.1.0 + property-information: 6.5.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -13220,10 +13189,6 @@ snapshots: he@1.2.0: {} - hoist-non-react-statics@3.3.2: - dependencies: - react-is: 16.13.1 - hono-rate-limiter@0.4.2(hono@4.12.14): dependencies: hono: 4.12.14 @@ -13323,6 +13288,13 @@ snapshots: cjs-module-lexer: 1.4.3 module-details-from-path: 1.0.4 + import-in-the-middle@2.0.5: + dependencies: + acorn: 8.15.0 + acorn-import-attributes: 1.9.5(acorn@8.15.0) + cjs-module-lexer: 2.2.0 + module-details-from-path: 1.0.4 + import-lazy@4.0.0: {} import-meta-resolve@4.2.0: {} @@ -13387,7 +13359,7 @@ snapshots: is-fullwidth-code-point@5.0.0: dependencies: - get-east-asian-width: 1.5.0 + get-east-asian-width: 1.4.0 is-glob@4.0.3: dependencies: @@ -13420,7 +13392,7 @@ snapshots: dependencies: is-docker: 2.2.1 - is-wsl@3.1.1: + is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 @@ -13519,12 +13491,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.2.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -13613,7 +13579,7 @@ snapshots: micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.8.3 + yaml: 2.8.1 transitivePeerDependencies: - supports-color @@ -13663,7 +13629,7 @@ snapshots: lodash.union@4.6.0: {} - lodash@4.17.23: {} + lodash@4.18.1: {} log-update@6.1.0: dependencies: @@ -13696,7 +13662,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.7: {} + lru-cache@11.3.5: {} lru-cache@5.1.1: dependencies: @@ -13718,10 +13684,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - magicast@0.5.2: + magicast@0.5.1: dependencies: - '@babel/parser': 7.29.2 - '@babel/types': 7.29.0 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 source-map-js: 1.2.1 make-dir@4.0.0: @@ -13745,7 +13711,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 mdast-util-directive@3.0.0: dependencies: @@ -13784,23 +13750,6 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-from-markdown@2.0.3: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - decode-named-character-reference: 1.3.0 - devlop: 1.1.0 - mdast-util-to-string: 4.0.0 - micromark: 4.0.2 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-decode-string: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-stringify-position: 4.0.0 - transitivePeerDependencies: - - supports-color - mdast-util-gfm-autolink-literal@2.0.1: dependencies: '@types/mdast': 4.0.4 @@ -13813,7 +13762,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: @@ -13822,7 +13771,7 @@ snapshots: mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -13832,7 +13781,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -13841,14 +13790,14 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color mdast-util-gfm@3.1.0: dependencies: - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.1.0 mdast-util-gfm-strikethrough: 2.0.0 @@ -13864,7 +13813,7 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -13877,7 +13826,7 @@ snapshots: '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 parse-entities: 4.0.1 stringify-entities: 4.0.4 @@ -13888,7 +13837,7 @@ snapshots: mdast-util-mdx@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.1.3 mdast-util-mdxjs-esm: 2.0.1 @@ -13902,7 +13851,7 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -13921,7 +13870,7 @@ snapshots: micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 vfile: 6.0.3 mdast-util-to-markdown@2.1.2: @@ -13945,7 +13894,7 @@ snapshots: mdn-data@2.0.30: optional: true - mdn-data@2.27.1: {} + mdn-data@2.12.2: {} media-typer@1.1.0: {} @@ -14087,8 +14036,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) micromark-extension-mdx-expression: 3.0.0 micromark-extension-mdx-jsx: 3.0.1 micromark-extension-mdx-md: 2.0.0 @@ -14292,7 +14241,7 @@ snapshots: mlly@1.7.4: dependencies: - acorn: 8.16.0 + acorn: 8.15.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.1 @@ -14350,7 +14299,7 @@ snapshots: node-releases@2.0.19: {} - node-releases@2.0.37: {} + node-releases@2.0.27: {} nopt@7.2.1: dependencies: @@ -14417,6 +14366,8 @@ snapshots: oniguruma-parser@0.12.1: {} + oniguruma-parser@0.12.2: {} + oniguruma-to-es@2.3.0: dependencies: emoji-regex-xs: 1.0.0 @@ -14429,9 +14380,9 @@ snapshots: regex: 6.0.1 regex-recursion: 6.0.2 - oniguruma-to-es@4.3.5: + oniguruma-to-es@4.3.6: dependencies: - oniguruma-parser: 0.12.1 + oniguruma-parser: 0.12.2 regex: 6.1.0 regex-recursion: 6.0.2 @@ -14471,7 +14422,7 @@ snapshots: p-queue@8.1.1: dependencies: - eventemitter3: 5.0.4 + eventemitter3: 5.0.1 p-timeout: 6.1.4 p-timeout@6.1.4: {} @@ -14583,12 +14534,8 @@ snapshots: picomatch@2.3.1: {} - picomatch@2.3.2: {} - picomatch@4.0.3: {} - picomatch@4.0.4: {} - pidtree@0.6.0: {} pkce-challenge@5.0.0: {} @@ -14633,16 +14580,16 @@ snapshots: portable-executable-signature@2.0.6: {} - postcss-load-config@4.0.2(postcss@8.5.10): + postcss-load-config@4.0.2(postcss@8.5.6): dependencies: lilconfig: 3.1.3 yaml: 2.8.3 optionalDependencies: - postcss: 8.5.10 + postcss: 8.5.6 - postcss-nested@6.2.0(postcss@8.5.8): + postcss-nested@6.2.0(postcss@8.5.6): dependencies: - postcss: 8.5.8 + postcss: 8.5.6 postcss-selector-parser: 6.1.2 postcss-selector-parser@6.0.10: @@ -14657,24 +14604,12 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.5.10: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.8: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postgres-array@2.0.0: {} postgres-bytea@1.0.0: {} @@ -14738,14 +14673,14 @@ snapshots: proxy-from-env@1.1.0: {} - pump@3.0.4: + pump@3.0.3: dependencies: end-of-stream: 1.4.5 once: 1.4.0 punycode@2.3.1: {} - qs@6.15.0: + qs@6.15.1: dependencies: side-channel: 1.1.0 @@ -14896,7 +14831,7 @@ snapshots: readdirp@3.6.0: dependencies: - picomatch: 2.3.2 + picomatch: 2.3.1 readdirp@5.0.0: {} @@ -14906,9 +14841,9 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.0(acorn@8.16.0): + recma-jsx@1.0.0(acorn@8.15.0): dependencies: - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn-jsx: 5.3.2(acorn@8.15.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -15030,7 +14965,7 @@ snapshots: remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.2 micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -15049,7 +14984,7 @@ snapshots: retext: 9.0.0 retext-smartypants: 6.2.0 unified: 11.0.5 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 remark-stringify@11.0.0: dependencies: @@ -15103,7 +15038,7 @@ snapshots: dependencies: '@types/nlcst': 2.0.3 nlcst-to-string: 4.0.0 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 retext-stringify@4.0.0: dependencies: @@ -15138,73 +15073,42 @@ snapshots: sprintf-js: 1.1.3 optional: true - rollup-plugin-sourcemaps2@0.4.4(@types/node@22.15.28)(rollup@4.60.0): + rollup-plugin-sourcemaps2@0.4.4(@types/node@22.15.28)(rollup@4.60.2): dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.60.0) - rollup: 4.60.0 + '@rollup/pluginutils': 5.1.4(rollup@4.60.2) + rollup: 4.60.2 optionalDependencies: '@types/node': 22.15.28 - rollup@4.59.0: + rollup@4.60.2: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.59.0 - '@rollup/rollup-android-arm64': 4.59.0 - '@rollup/rollup-darwin-arm64': 4.59.0 - '@rollup/rollup-darwin-x64': 4.59.0 - '@rollup/rollup-freebsd-arm64': 4.59.0 - '@rollup/rollup-freebsd-x64': 4.59.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 - '@rollup/rollup-linux-arm-musleabihf': 4.59.0 - '@rollup/rollup-linux-arm64-gnu': 4.59.0 - '@rollup/rollup-linux-arm64-musl': 4.59.0 - '@rollup/rollup-linux-loong64-gnu': 4.59.0 - '@rollup/rollup-linux-loong64-musl': 4.59.0 - '@rollup/rollup-linux-ppc64-gnu': 4.59.0 - '@rollup/rollup-linux-ppc64-musl': 4.59.0 - '@rollup/rollup-linux-riscv64-gnu': 4.59.0 - '@rollup/rollup-linux-riscv64-musl': 4.59.0 - '@rollup/rollup-linux-s390x-gnu': 4.59.0 - '@rollup/rollup-linux-x64-gnu': 4.59.0 - '@rollup/rollup-linux-x64-musl': 4.59.0 - '@rollup/rollup-openbsd-x64': 4.59.0 - '@rollup/rollup-openharmony-arm64': 4.59.0 - '@rollup/rollup-win32-arm64-msvc': 4.59.0 - '@rollup/rollup-win32-ia32-msvc': 4.59.0 - '@rollup/rollup-win32-x64-gnu': 4.59.0 - '@rollup/rollup-win32-x64-msvc': 4.59.0 - fsevents: 2.3.3 - - rollup@4.60.0: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.0 - '@rollup/rollup-android-arm64': 4.60.0 - '@rollup/rollup-darwin-arm64': 4.60.0 - '@rollup/rollup-darwin-x64': 4.60.0 - '@rollup/rollup-freebsd-arm64': 4.60.0 - '@rollup/rollup-freebsd-x64': 4.60.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.0 - '@rollup/rollup-linux-arm-musleabihf': 4.60.0 - '@rollup/rollup-linux-arm64-gnu': 4.60.0 - '@rollup/rollup-linux-arm64-musl': 4.60.0 - '@rollup/rollup-linux-loong64-gnu': 4.60.0 - '@rollup/rollup-linux-loong64-musl': 4.60.0 - '@rollup/rollup-linux-ppc64-gnu': 4.60.0 - '@rollup/rollup-linux-ppc64-musl': 4.60.0 - '@rollup/rollup-linux-riscv64-gnu': 4.60.0 - '@rollup/rollup-linux-riscv64-musl': 4.60.0 - '@rollup/rollup-linux-s390x-gnu': 4.60.0 - '@rollup/rollup-linux-x64-gnu': 4.60.0 - '@rollup/rollup-linux-x64-musl': 4.60.0 - '@rollup/rollup-openbsd-x64': 4.60.0 - '@rollup/rollup-openharmony-arm64': 4.60.0 - '@rollup/rollup-win32-arm64-msvc': 4.60.0 - '@rollup/rollup-win32-ia32-msvc': 4.60.0 - '@rollup/rollup-win32-x64-gnu': 4.60.0 - '@rollup/rollup-win32-x64-msvc': 4.60.0 + '@rollup/rollup-android-arm-eabi': 4.60.2 + '@rollup/rollup-android-arm64': 4.60.2 + '@rollup/rollup-darwin-arm64': 4.60.2 + '@rollup/rollup-darwin-x64': 4.60.2 + '@rollup/rollup-freebsd-arm64': 4.60.2 + '@rollup/rollup-freebsd-x64': 4.60.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.60.2 + '@rollup/rollup-linux-arm-musleabihf': 4.60.2 + '@rollup/rollup-linux-arm64-gnu': 4.60.2 + '@rollup/rollup-linux-arm64-musl': 4.60.2 + '@rollup/rollup-linux-loong64-gnu': 4.60.2 + '@rollup/rollup-linux-loong64-musl': 4.60.2 + '@rollup/rollup-linux-ppc64-gnu': 4.60.2 + '@rollup/rollup-linux-ppc64-musl': 4.60.2 + '@rollup/rollup-linux-riscv64-gnu': 4.60.2 + '@rollup/rollup-linux-riscv64-musl': 4.60.2 + '@rollup/rollup-linux-s390x-gnu': 4.60.2 + '@rollup/rollup-linux-x64-gnu': 4.60.2 + '@rollup/rollup-linux-x64-musl': 4.60.2 + '@rollup/rollup-openbsd-x64': 4.60.2 + '@rollup/rollup-openharmony-arm64': 4.60.2 + '@rollup/rollup-win32-arm64-msvc': 4.60.2 + '@rollup/rollup-win32-ia32-msvc': 4.60.2 + '@rollup/rollup-win32-x64-gnu': 4.60.2 + '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 router@2.2.0: @@ -15258,8 +15162,6 @@ snapshots: semver@7.7.3: {} - semver@7.7.4: {} - send@1.2.1: dependencies: debug: 4.4.3 @@ -15320,9 +15222,9 @@ snapshots: sharp@0.34.5: dependencies: - '@img/colour': 1.1.0 + '@img/colour': 1.0.0 detect-libc: 2.1.2 - semver: 7.7.4 + semver: 7.7.3 optionalDependencies: '@img/sharp-darwin-arm64': 0.34.5 '@img/sharp-darwin-x64': 0.34.5 @@ -15380,6 +15282,17 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 + shiki@3.15.0: + dependencies: + '@shikijs/core': 3.15.0 + '@shikijs/engine-javascript': 3.15.0 + '@shikijs/engine-oniguruma': 3.15.0 + '@shikijs/langs': 3.15.0 + '@shikijs/themes': 3.15.0 + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + shiki@3.23.0: dependencies: '@shikijs/core': 3.23.0 @@ -15448,7 +15361,7 @@ snapshots: '@types/node': 17.0.45 '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.6.0 + sax: 1.4.1 slash@3.0.0: {} @@ -15472,6 +15385,8 @@ snapshots: smart-buffer@4.2.0: optional: true + smol-toml@1.5.2: {} + smol-toml@1.6.1: {} snake-case@3.0.4: @@ -15538,13 +15453,13 @@ snapshots: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.2.0 + strip-ansi: 7.1.2 string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.5.0 - strip-ansi: 7.2.0 + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 string_decoder@1.1.1: dependencies: @@ -15567,10 +15482,6 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-ansi@7.2.0: - dependencies: - ansi-regex: 6.2.2 - strip-final-newline@2.0.0: {} strip-final-newline@3.0.0: {} @@ -15619,7 +15530,7 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/trace-mapping': 0.3.31 '@types/estree': 1.0.8 - acorn: 8.16.0 + acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 code-red: 1.0.4 @@ -15637,7 +15548,7 @@ snapshots: dependencies: commander: 11.1.0 css-select: 5.2.2 - css-tree: 3.2.1 + css-tree: 3.1.0 css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 @@ -15663,7 +15574,7 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.22.0 - tar@7.5.11: + tar@7.5.13: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 @@ -15679,7 +15590,7 @@ snapshots: terser@5.43.1: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 + acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 optional: true @@ -15704,17 +15615,17 @@ snapshots: tinybench@2.9.0: {} - tinyexec@1.0.4: {} + tinyexec@1.0.2: {} tinyglobby@0.2.12: dependencies: - fdir: 6.4.3(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.4.3(picomatch@4.0.3) + picomatch: 4.0.3 tinyglobby@0.2.15: dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 tinypool@0.7.0: {} @@ -15770,8 +15681,8 @@ snapshots: tsx@4.20.3: dependencies: - esbuild: 0.28.0 - get-tsconfig: 4.14.0 + esbuild: 0.27.2 + get-tsconfig: 4.13.0 optionalDependencies: fsevents: 2.3.3 optional: true @@ -15844,7 +15755,7 @@ snapshots: undici-types@7.14.0: {} - undici-types@7.18.2: {} + undici-types@7.16.0: {} unicode-trie@2.0.0: dependencies: @@ -15863,7 +15774,7 @@ snapshots: unifont@0.7.4: dependencies: - css-tree: 3.2.1 + css-tree: 3.1.0 ofetch: 1.5.1 ohash: 2.0.11 @@ -15892,7 +15803,7 @@ snapshots: unist-util-remove-position@5.0.0: dependencies: '@types/unist': 3.0.3 - unist-util-visit: 5.1.0 + unist-util-visit: 5.0.0 unist-util-stringify-position@4.0.0: dependencies: @@ -15918,12 +15829,6 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - unist-util-visit@5.1.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - universalify@0.1.2: {} universalify@2.0.1: {} @@ -15942,8 +15847,8 @@ snapshots: anymatch: 3.1.3 chokidar: 5.0.0 destr: 2.0.5 - h3: 1.15.10 - lru-cache: 11.2.7 + h3: 1.15.11 + lru-cache: 11.3.5 node-fetch-native: 1.6.7 ofetch: 1.5.1 ufo: 1.6.3 @@ -15956,9 +15861,9 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-browserslist-db@1.2.3(browserslist@4.28.2): + update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: - browserslist: 4.28.2 + browserslist: 4.28.1 escalade: 3.2.0 picocolors: 1.1.1 @@ -16060,10 +15965,10 @@ snapshots: - supports-color - terser - vite-plugin-dts@4.5.4(@types/node@22.15.28)(rollup@4.60.0)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)): + vite-plugin-dts@4.5.4(@types/node@22.15.28)(rollup@4.60.2)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)): dependencies: '@microsoft/api-extractor': 7.52.8(@types/node@22.15.28) - '@rollup/pluginutils': 5.3.0(rollup@4.60.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.2) '@volar/typescript': 2.4.17 '@vue/language-core': 2.2.0(typescript@5.9.2) compare-versions: 6.1.1 @@ -16081,24 +15986,24 @@ snapshots: vite-plugin-electron@0.29.0: {} - vite-plugin-inspect@0.7.42(rollup@4.60.0)(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)): + vite-plugin-inspect@0.7.42(rollup@4.60.2)(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.2(rollup@4.60.0) + '@rollup/pluginutils': 5.1.2(rollup@4.60.2) debug: 4.3.7 error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 open: 9.1.0 picocolors: 1.1.0 sirv: 2.0.4 - vite: 6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) + vite: 6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) transitivePeerDependencies: - rollup - supports-color - vite-plugin-svgr@3.3.0(rollup@4.60.0)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)): + vite-plugin-svgr@3.3.0(rollup@4.60.2)(typescript@5.9.2)(vite@5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1)): dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.0) + '@rollup/pluginutils': 5.3.0(rollup@4.60.2) '@svgr/core': 8.1.0(typescript@5.9.2) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.9.2)) vite: 5.4.21(@types/node@22.15.28)(lightningcss@1.30.1)(terser@5.43.1) @@ -16111,7 +16016,7 @@ snapshots: dependencies: esbuild: 0.25.12 postcss: 8.5.6 - rollup: 4.59.0 + rollup: 4.60.2 optionalDependencies: '@types/node': 22.15.28 fsevents: 2.3.3 @@ -16122,23 +16027,23 @@ snapshots: dependencies: esbuild: 0.25.12 postcss: 8.5.6 - rollup: 4.59.0 + rollup: 4.60.2 optionalDependencies: '@types/node': 24.7.2 fsevents: 2.3.3 lightningcss: 1.30.1 terser: 5.43.1 - vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3): + vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3): dependencies: - esbuild: 0.27.4 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.8 - rollup: 4.60.0 + esbuild: 0.25.12 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.60.2 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.5.0 + '@types/node': 24.10.1 fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 @@ -16146,11 +16051,11 @@ snapshots: tsx: 4.20.3 yaml: 2.8.3 - vitefu@1.1.2(vite@6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)): + vitefu@1.1.1(vite@6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3)): optionalDependencies: - vite: 6.4.1(@types/node@25.5.0)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) + vite: 6.4.1(@types/node@24.10.1)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.3) - vitest@0.34.6(happy-dom@20.8.9)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1): + vitest@0.34.6(happy-dom@20.9.0)(lightningcss@1.30.1)(playwright@1.56.1)(terser@5.43.1): dependencies: '@types/chai': 4.3.20 '@types/chai-subset': 1.3.5 @@ -16177,7 +16082,7 @@ snapshots: vite-node: 0.34.6(@types/node@24.7.2)(lightningcss@1.30.1)(terser@5.43.1) why-is-node-running: 2.3.0 optionalDependencies: - happy-dom: 20.8.9 + happy-dom: 20.9.0 playwright: 1.56.1 transitivePeerDependencies: - less @@ -16235,7 +16140,7 @@ snapshots: dependencies: ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.2.0 + strip-ansi: 7.1.2 wrap-ansi@9.0.2: dependencies: @@ -16263,7 +16168,9 @@ snapshots: yallist@5.0.0: {} - yaml@1.10.3: {} + yaml@1.10.2: {} + + yaml@2.8.1: {} yaml@2.8.3: {} @@ -16284,7 +16191,7 @@ snapshots: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - yauzl@3.2.1: + yauzl@3.3.0: dependencies: buffer-crc32: 0.2.13 pend: 1.2.0 @@ -16305,13 +16212,13 @@ snapshots: compress-commons: 4.1.2 readable-stream: 3.6.2 - zod-to-json-schema@3.25.1(zod@4.1.13): + zod-to-json-schema@3.25.1(zod@3.25.76): dependencies: - zod: 4.1.13 + zod: 3.25.76 - zod-to-json-schema@3.25.2(zod@3.25.76): + zod-to-json-schema@3.25.1(zod@4.1.13): dependencies: - zod: 3.25.76 + zod: 4.1.13 zod-to-ts@1.2.0(typescript@5.9.2)(zod@3.25.76): dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 10904e364..40c98f635 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,5 @@ packages: - - 'packages/*' + - "packages/*" catalog: "@fontsource/raleway": ^5.1.0 @@ -7,9 +7,9 @@ catalog: "@types/node": ^22.15.21 "@types/react": ^18.3.11 "@types/react-dom": ^18.3.0 - "@sentry/astro": ^10.31.0 - "@sentry/core": ^10.31.0 - "@sentry/node": ^10.31.0 + "@sentry/astro": ^10.36.0 + "@sentry/core": ^10.36.0 + "@sentry/node": ^10.36.0 react: ^18.3.1 react-dom: ^18.3.1 tailwindcss: ^4.1.10