@claudeye/linux-x64 1.0.4-beta.8 → 1.0.4-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/assets/standalone/.next/BUILD_ID +1 -1
  2. package/assets/standalone/.next/build-manifest.json +2 -2
  3. package/assets/standalone/.next/prerender-manifest.json +3 -3
  4. package/assets/standalone/.next/server/app/_global-error.html +2 -2
  5. package/assets/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/assets/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/assets/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/assets/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/assets/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/assets/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/assets/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  12. package/assets/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/assets/standalone/.next/server/app/_not-found.html +2 -2
  14. package/assets/standalone/.next/server/app/_not-found.rsc +6 -6
  15. package/assets/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
  16. package/assets/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/assets/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  18. package/assets/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/assets/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/assets/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/assets/standalone/.next/server/app/api/completed-history/route.js +1 -1
  22. package/assets/standalone/.next/server/app/api/queue-item/route.js +3 -3
  23. package/assets/standalone/.next/server/app/api/queue-status/route.js +1 -1
  24. package/assets/standalone/.next/server/app/dashboard/[viewName]/page/server-reference-manifest.json +4 -4
  25. package/assets/standalone/.next/server/app/dashboard/[viewName]/page_client-reference-manifest.js +1 -1
  26. package/assets/standalone/.next/server/app/dashboard/page/server-reference-manifest.json +4 -4
  27. package/assets/standalone/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  28. package/assets/standalone/.next/server/app/login/page/server-reference-manifest.json +2 -2
  29. package/assets/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  30. package/assets/standalone/.next/server/app/login.html +2 -2
  31. package/assets/standalone/.next/server/app/login.rsc +7 -7
  32. package/assets/standalone/.next/server/app/login.segments/_full.segment.rsc +7 -7
  33. package/assets/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  34. package/assets/standalone/.next/server/app/login.segments/_index.segment.rsc +6 -6
  35. package/assets/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  36. package/assets/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  37. package/assets/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  38. package/assets/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  39. package/assets/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/assets/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  41. package/assets/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  42. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +1 -1
  43. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +8 -8
  44. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +1 -1
  45. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  46. package/assets/standalone/.next/server/app/queue/page/server-reference-manifest.json +3 -3
  47. package/assets/standalone/.next/server/app/queue/page.js +2 -2
  48. package/assets/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  49. package/assets/standalone/.next/server/chunks/[externals]_node:os_276398f1._.js +3 -0
  50. package/assets/standalone/.next/server/chunks/[externals]_posthog-node_4a68be38._.js +3 -0
  51. package/assets/standalone/.next/server/chunks/{[root-of-the-server]__1b1bb02d._.js → [root-of-the-server]__19c9c5af._.js} +3 -3
  52. package/assets/standalone/.next/server/chunks/{[root-of-the-server]__d3f4fd29._.js → [root-of-the-server]__255e6fbc._.js} +1 -1
  53. package/assets/standalone/.next/server/chunks/{[root-of-the-server]__78dce546._.js → [root-of-the-server]__3232b9b5._.js} +1 -1
  54. package/assets/standalone/.next/server/chunks/[root-of-the-server]__365c750b._.js +3 -0
  55. package/assets/standalone/.next/server/chunks/[root-of-the-server]__4ea757c2._.js +3 -0
  56. package/assets/standalone/.next/server/chunks/{[root-of-the-server]__21bbd23a._.js → [root-of-the-server]__6d076258._.js} +1 -1
  57. package/assets/standalone/.next/server/chunks/{[root-of-the-server]__90898822._.js → [root-of-the-server]__6fc9da2e._.js} +1 -1
  58. package/assets/standalone/.next/server/chunks/[root-of-the-server]__b2f1c82c._.js +3 -0
  59. package/assets/standalone/.next/server/chunks/[root-of-the-server]__c84cf1dc._.js +3 -0
  60. package/assets/standalone/.next/server/chunks/{[root-of-the-server]__639e9c9a._.js → [root-of-the-server]__fe48bb1c._.js} +2 -2
  61. package/assets/standalone/.next/server/chunks/{[root-of-the-server]__88b832c4._.js → [root-of-the-server]__ffb39c82._.js} +2 -2
  62. package/assets/standalone/.next/server/chunks/_3f3c09bf._.js +1 -1
  63. package/assets/standalone/.next/server/chunks/{_ed7b8259._.js → _717db053._.js} +1 -1
  64. package/assets/standalone/.next/server/chunks/_7e07bbd9._.js +1 -1
  65. package/assets/standalone/.next/server/chunks/_8f856fad._.js +2 -2
  66. package/assets/standalone/.next/server/chunks/_b8adaa37._.js +1 -1
  67. package/assets/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7a66d362.js +1 -1
  68. package/assets/standalone/.next/server/chunks/package_json_4b1b4d6f._.js +1 -1
  69. package/assets/standalone/.next/server/chunks/ssr/[externals]_posthog-node_4a68be38._.js +3 -0
  70. package/assets/standalone/.next/server/chunks/ssr/{[root-of-the-server]__38984221._.js → [root-of-the-server]__10ac3567._.js} +3 -3
  71. package/assets/standalone/.next/server/chunks/ssr/{[root-of-the-server]__84ff5b0e._.js → [root-of-the-server]__16a44ef3._.js} +3 -3
  72. package/assets/standalone/.next/server/chunks/ssr/_14858238._.js +1 -1
  73. package/assets/standalone/.next/server/chunks/ssr/_19a3e694._.js +2 -2
  74. package/assets/standalone/.next/server/chunks/ssr/_1d335924._.js +1 -1
  75. package/assets/standalone/.next/server/chunks/ssr/_3dacef09._.js +1 -1
  76. package/assets/standalone/.next/server/chunks/ssr/_617143fc._.js +2 -2
  77. package/assets/standalone/.next/server/chunks/ssr/_76ab933f._.js +1 -1
  78. package/assets/standalone/.next/server/chunks/ssr/_7ae321cd._.js +2 -2
  79. package/assets/standalone/.next/server/chunks/ssr/_87e025a1._.js +1 -1
  80. package/assets/standalone/.next/server/chunks/ssr/_986c0cdb._.js +2 -2
  81. package/assets/standalone/.next/server/chunks/ssr/_c9400c33._.js +2 -2
  82. package/assets/standalone/.next/server/chunks/ssr/_d7159840._.js +1 -1
  83. package/assets/standalone/.next/server/chunks/ssr/_fa9c2bed._.js +2 -2
  84. package/assets/standalone/.next/server/chunks/ssr/app_actions_compute-dashboard_ts_fc151dbb._.js +1 -1
  85. package/assets/standalone/.next/server/chunks/ssr/app_login_page_tsx_ccc0019b._.js +1 -1
  86. package/assets/standalone/.next/server/chunks/ssr/app_queue_queue-client_tsx_45f040f7._.js +1 -1
  87. package/assets/standalone/.next/server/instrumentation.js +1 -1
  88. package/assets/standalone/.next/server/pages/404.html +2 -2
  89. package/assets/standalone/.next/server/pages/500.html +2 -2
  90. package/assets/standalone/.next/server/server-reference-manifest.js +1 -1
  91. package/assets/standalone/.next/server/server-reference-manifest.json +15 -15
  92. package/assets/standalone/.next/static/chunks/{0d1e6fdc9bc7e04b.js → 13ab76b2fb94bd45.js} +1 -1
  93. package/assets/standalone/.next/static/chunks/{a7a908597342d1e8.js → 27fc246b001f7ba2.js} +1 -1
  94. package/assets/standalone/.next/static/chunks/{450111af66831971.js → 3346a6085951648c.js} +1 -1
  95. package/assets/standalone/.next/static/chunks/{7dcc03c6ab5f06fc.js → 723f2367261046f4.js} +1 -1
  96. package/assets/standalone/.next/static/chunks/{ed3d17baf7b5aec4.js → dbec35204e8940b4.js} +1 -1
  97. package/assets/standalone/.next/static/chunks/{720db97cc7fbd33f.js → fd8c1fc19ac30592.js} +1 -1
  98. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/chunk-ids.mjs +34 -0
  99. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/dom-exception-coercer.mjs +31 -0
  100. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/error-coercer.mjs +27 -0
  101. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/error-event-coercer.mjs +18 -0
  102. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/event-coercer.mjs +17 -0
  103. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/index.mjs +8 -0
  104. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/object-coercer.mjs +51 -0
  105. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/primitive-coercer.mjs +15 -0
  106. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/promise-rejection-event.mjs +25 -0
  107. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/string-coercer.mjs +29 -0
  108. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/coercers/utils.mjs +18 -0
  109. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/error-properties-builder.mjs +112 -0
  110. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/index.mjs +4 -0
  111. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/base.mjs +14 -0
  112. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/chrome.mjs +27 -0
  113. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/gecko.mjs +24 -0
  114. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/index.mjs +47 -0
  115. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/node.mjs +65 -0
  116. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/opera.mjs +12 -0
  117. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/safari.mjs +13 -0
  118. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/parsers/winjs.mjs +7 -0
  119. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/types.mjs +9 -0
  120. package/assets/standalone/node_modules/@posthog/core/dist/error-tracking/utils.mjs +23 -0
  121. package/assets/standalone/node_modules/@posthog/core/dist/eventemitter.mjs +18 -0
  122. package/assets/standalone/node_modules/@posthog/core/dist/featureFlagUtils.mjs +113 -0
  123. package/assets/standalone/node_modules/@posthog/core/dist/gzip.mjs +18 -0
  124. package/assets/standalone/node_modules/@posthog/core/dist/index.mjs +9 -0
  125. package/assets/standalone/node_modules/@posthog/core/dist/posthog-core-stateless.mjs +676 -0
  126. package/assets/standalone/node_modules/@posthog/core/dist/posthog-core.mjs +761 -0
  127. package/assets/standalone/node_modules/@posthog/core/dist/surveys/validation.mjs +33 -0
  128. package/assets/standalone/node_modules/@posthog/core/dist/types.mjs +137 -0
  129. package/assets/standalone/node_modules/@posthog/core/dist/utils/bot-detection.mjs +88 -0
  130. package/assets/standalone/node_modules/@posthog/core/dist/utils/bucketed-rate-limiter.mjs +41 -0
  131. package/assets/standalone/node_modules/@posthog/core/dist/utils/index.mjs +59 -0
  132. package/assets/standalone/node_modules/@posthog/core/dist/utils/logger.mjs +38 -0
  133. package/assets/standalone/node_modules/@posthog/core/dist/utils/number-utils.mjs +41 -0
  134. package/assets/standalone/node_modules/@posthog/core/dist/utils/promise-queue.mjs +27 -0
  135. package/assets/standalone/node_modules/@posthog/core/dist/utils/string-utils.mjs +31 -0
  136. package/assets/standalone/node_modules/@posthog/core/dist/utils/type-utils.mjs +82 -0
  137. package/assets/standalone/node_modules/@posthog/core/dist/utils/user-agent-utils.mjs +338 -0
  138. package/assets/standalone/node_modules/@posthog/core/dist/vendor/uuidv7.mjs +170 -0
  139. package/assets/standalone/node_modules/@posthog/core/package.json +69 -0
  140. package/assets/standalone/node_modules/posthog-node/dist/client.mjs +718 -0
  141. package/assets/standalone/node_modules/posthog-node/dist/entrypoints/index.node.mjs +26 -0
  142. package/assets/standalone/node_modules/posthog-node/dist/exports.mjs +5 -0
  143. package/assets/standalone/node_modules/posthog-node/dist/extensions/context/context.mjs +28 -0
  144. package/assets/standalone/node_modules/posthog-node/dist/extensions/error-tracking/autocapture.mjs +31 -0
  145. package/assets/standalone/node_modules/posthog-node/dist/extensions/error-tracking/index.mjs +69 -0
  146. package/assets/standalone/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.js +227 -0
  147. package/assets/standalone/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/context-lines.node.mjs +187 -0
  148. package/assets/standalone/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.js +64 -0
  149. package/assets/standalone/node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs +30 -0
  150. package/assets/standalone/node_modules/posthog-node/dist/extensions/express.mjs +32 -0
  151. package/assets/standalone/node_modules/posthog-node/dist/extensions/feature-flags/crypto.mjs +8 -0
  152. package/assets/standalone/node_modules/posthog-node/dist/extensions/feature-flags/feature-flags.mjs +772 -0
  153. package/assets/standalone/node_modules/posthog-node/dist/extensions/sentry-integration.mjs +72 -0
  154. package/assets/standalone/node_modules/posthog-node/dist/storage-memory.mjs +12 -0
  155. package/assets/standalone/node_modules/posthog-node/dist/types.mjs +7 -0
  156. package/assets/standalone/node_modules/posthog-node/dist/version.mjs +2 -0
  157. package/assets/standalone/node_modules/posthog-node/package.json +105 -0
  158. package/assets/standalone/package.json +1 -1
  159. package/bin/claudeye +0 -0
  160. package/package.json +1 -1
  161. package/assets/standalone/.next/server/chunks/[root-of-the-server]__6b95fca3._.js +0 -3
  162. package/assets/standalone/.next/server/chunks/[root-of-the-server]__df519d04._.js +0 -3
  163. package/assets/standalone/.next/server/chunks/_b394bd4b._.js +0 -3
  164. /package/assets/standalone/.next/static/{qIumJW2d747rWilIDp75c → J4fam3sTS7cM1hFzhpIJy}/_buildManifest.js +0 -0
  165. /package/assets/standalone/.next/static/{qIumJW2d747rWilIDp75c → J4fam3sTS7cM1hFzhpIJy}/_clientMiddlewareManifest.json +0 -0
  166. /package/assets/standalone/.next/static/{qIumJW2d747rWilIDp75c → J4fam3sTS7cM1hFzhpIJy}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24380,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75254);let o=(0,n.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),l=(0,n.default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var a=e.i(47163);function i(e){let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t);try{return t.select(),document.execCommand("copy")}finally{document.body.removeChild(t)}}function u({text:e,className:n}){let[u,s]=(0,r.useState)(!1),d=(0,r.useCallback)(async()=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(e);else if(!i(e))throw Error("Both clipboard methods failed");s(!0),setTimeout(()=>s(!1),2e3)}catch(t){console.error("Failed to copy to clipboard:",t);try{i(e)&&(s(!0),setTimeout(()=>s(!1),2e3))}catch{}}},[e]);return(0,t.jsx)("button",{onClick:d,title:"Copy to clipboard",className:(0,a.cn)("inline-flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors",n),children:u?(0,t.jsx)(l,{className:"w-3.5 h-3.5 text-green-500"}):(0,t.jsx)(o,{className:"w-3.5 h-3.5"})})}e.s(["CopyButton",()=>u],24380)},67585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return o}});let n=e.r(32061);function o({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,r)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},52157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return u}});let n=e.r(43476),o=e.r(74080),l=e.r(63599),a=e.r(9885),i=e.r(43369);function u({moduleIds:e}){if("u">typeof window)return null;let t=l.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let u=(0,i.getDeploymentIdQueryOrEmptyString)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,a.encodeURIPath)(e)}${u}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,o.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(43476),o=e.r(71645),l=e.r(67585),a=e.r(52157);function i(e){return{default:e&&"default"in e?e.default:e}}let u={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},s=function(e){let t={...u,...e},r=(0,o.lazy)(()=>t.loader().then(i)),s=t.loading;function d(e){let i=s?(0,n.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,u=!t.ssr||!!t.loading,d=u?o.Suspense:o.Fragment,c=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(a.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(d,{...u?{fallback:i}:{},children:c})}return d.displayName="LoadableComponent",d}},70703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(55682)._(e.r(69093));function o(e,t){let r={};"function"==typeof e&&(r.loader=e);let o={...r,...t};return(0,n.default)({...o,modules:o.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},69186,e=>{"use strict";var t=e.i(43476);let r=(0,e.i(70703).default)(()=>e.A(79348),{loadableGenerated:{modules:[5780]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"bg-card border border-border rounded-lg p-4 shadow-sm",children:(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)("div",{className:"animate-pulse text-muted-foreground",children:"Loading log viewer..."})})})});function n({entries:e,projectName:n,sessionId:o}){return(0,t.jsx)(r,{entries:e,projectName:n,sessionId:o})}e.s(["default",()=>n])},79348,e=>{e.v(t=>Promise.all(["static/chunks/97c295191089a1c2.js","static/chunks/450111af66831971.js"].map(t=>e.l(t))).then(()=>t(5780)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24380,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75254);let o=(0,n.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),l=(0,n.default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var a=e.i(47163);function i(e){let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t);try{return t.select(),document.execCommand("copy")}finally{document.body.removeChild(t)}}function u({text:e,className:n}){let[u,s]=(0,r.useState)(!1),d=(0,r.useCallback)(async()=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(e);else if(!i(e))throw Error("Both clipboard methods failed");s(!0),setTimeout(()=>s(!1),2e3)}catch(t){console.error("Failed to copy to clipboard:",t);try{i(e)&&(s(!0),setTimeout(()=>s(!1),2e3))}catch{}}},[e]);return(0,t.jsx)("button",{onClick:d,title:"Copy to clipboard",className:(0,a.cn)("inline-flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors",n),children:u?(0,t.jsx)(l,{className:"w-3.5 h-3.5 text-green-500"}):(0,t.jsx)(o,{className:"w-3.5 h-3.5"})})}e.s(["CopyButton",()=>u],24380)},67585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return o}});let n=e.r(32061);function o({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,r)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},52157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return u}});let n=e.r(43476),o=e.r(74080),l=e.r(63599),a=e.r(9885),i=e.r(43369);function u({moduleIds:e}){if("u">typeof window)return null;let t=l.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let u=(0,i.getDeploymentIdQueryOrEmptyString)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,a.encodeURIPath)(e)}${u}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,o.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(43476),o=e.r(71645),l=e.r(67585),a=e.r(52157);function i(e){return{default:e&&"default"in e?e.default:e}}let u={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},s=function(e){let t={...u,...e},r=(0,o.lazy)(()=>t.loader().then(i)),s=t.loading;function d(e){let i=s?(0,n.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,u=!t.ssr||!!t.loading,d=u?o.Suspense:o.Fragment,c=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(a.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(d,{...u?{fallback:i}:{},children:c})}return d.displayName="LoadableComponent",d}},70703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(55682)._(e.r(69093));function o(e,t){let r={};"function"==typeof e&&(r.loader=e);let o={...r,...t};return(0,n.default)({...o,modules:o.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},69186,e=>{"use strict";var t=e.i(43476);let r=(0,e.i(70703).default)(()=>e.A(79348),{loadableGenerated:{modules:[5780]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"bg-card border border-border rounded-lg p-4 shadow-sm",children:(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)("div",{className:"animate-pulse text-muted-foreground",children:"Loading log viewer..."})})})});function n({entries:e,projectName:n,sessionId:o}){return(0,t.jsx)(r,{entries:e,projectName:n,sessionId:o})}e.s(["default",()=>n])},79348,e=>{e.v(t=>Promise.all(["static/chunks/97c295191089a1c2.js","static/chunks/3346a6085951648c.js"].map(t=>e.l(t))).then(()=>t(5780)))}]);
@@ -1,3 +1,3 @@
1
1
  (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,r)=>{t.exports=e.r(76562)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:o=2,absoluteStrokeWidth:i,className:s="",children:l,iconNode:u,...d},c)=>(0,t.createElement)("svg",{ref:c,...a,width:n,height:n,stroke:e,strokeWidth:i?24*Number(o)/Number(n):o,className:r("lucide",s),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),i=(e,a)=>{let i=(0,t.forwardRef)(({className:i,...s},l)=>(0,t.createElement)(o,{ref:l,iconNode:a,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...s}));return i.displayName=n(e),i};e.s(["default",()=>i],75254)},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),d&&"?"!==d[0]&&(d="?"+d),a=a.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${n}${u}${a}${d}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=o(e,n)),t&&(a.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return x},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return v},NormalizeError:function(){return b},PageNotFoundError:function(){return y},SP:function(){return h},ST:function(){return g},WEB_VITALS:function(){return o},execOnce:function(){return i},getDisplayName:function(){return c},getLocationOrigin:function(){return u},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function d(){let{href:e}=window.location,t=u();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${c(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,g=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class x extends Error{}class b extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),a=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return x},useLinkStatus:function(){return y}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(90809),i=e.r(43476),s=o._(e.r(71645)),l=e.r(95057),u=e.r(8372),d=e.r(18581),c=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(91949),m=e.r(73668),h=e.r(9396);function g(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function x(t){var r;let n,a,o,[l,x]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),y=(0,s.useRef)(null),{href:v,as:j,children:w,prefetch:k=null,passHref:_,replace:N,shallow:P,scroll:E,onClick:S,onMouseEnter:C,onTouchStart:O,legacyBehavior:R=!1,onNavigate:M,ref:$,unstable_dynamicOnHover:T,...I}=t;n=w,R&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let z=s.default.useContext(u.AppRouterContext),L=!1!==k,A=!1!==k?null===(r=k)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:U}=s.default.useMemo(()=>{let e=g(v);return{href:e,as:j?g(j):e}},[v,j]);if(R){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=s.default.Children.only(n)}let q=R?a&&"object"==typeof a&&a.ref:$,F=s.default.useCallback(e=>(null!==z&&(y.current=(0,p.mountLinkInstance)(e,D,z,A,L,x)),()=>{y.current&&((0,p.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,p.unmountPrefetchableInstance)(e)}),[L,D,z,A,x]),B={ref:(0,d.useMergedRef)(F,q),onClick(t){R||"function"!=typeof S||S(t),R&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!z||t.defaultPrevented||function(t,r,n,a,o,i,l){if("u">typeof window){let u,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:c}=e.r(99781);s.default.startTransition(()=>{c(n||r,o?"replace":"push",i??!0,a.current)})}}(t,D,U,y,N,E,M)},onMouseEnter(e){R||"function"!=typeof C||C(e),R&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),z&&L&&(0,p.onNavigationIntent)(e.currentTarget,!0===T)},onTouchStart:function(e){R||"function"!=typeof O||O(e),R&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),z&&L&&(0,p.onNavigationIntent)(e.currentTarget,!0===T)}};return(0,c.isAbsoluteUrl)(U)?B.href=U:R&&!_&&("a"!==a.type||"href"in a.props)||(B.href=(0,f.addBasePath)(U)),o=R?s.default.cloneElement(a,B):(0,i.jsx)("a",{...I,...B,children:n}),(0,i.jsx)(b.Provider,{value:l,children:o})}e.r(84508);let b=(0,s.createContext)(p.IDLE_LINK_STATUS),y=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},95187,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return s.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(32120),i=e.r(92245),s=e.r(35326)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],64659)},16715,e=>{"use strict";let t=(0,e.i(75254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},85881,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n=(0,r.createContext)(void 0);function a(){let e=(0,r.useContext)(n);if(!e)throw Error("useAutoRefresh must be used within AutoRefreshProvider");return e}function o({children:e}){let[a,o]=(0,r.useState)(0);return(0,t.jsx)(n.Provider,{value:{intervalSec:a,setIntervalSec:o},children:e})}e.s(["AutoRefreshProvider",()=>o,"useAutoRefresh",()=>a])},86311,e=>{"use strict";let t=(0,e.i(75254).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],86311)},55574,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n=[],a=0,o=new Set;function i(){for(let e of o)e()}function s(e){let t=a++;n=[...n,{id:t,message:e}],i(),setTimeout(()=>{n=n.filter(e=>e.id!==t),i()},2500)}function l(e){return o.add(e),()=>o.delete(e)}function u(){return n}function d(){let e=(0,r.useSyncExternalStore)(l,u,u);return(0,t.jsx)("div",{className:"fixed bottom-4 right-4 z-50 flex flex-col gap-2",children:e.map(e=>(0,t.jsx)(c,{message:e.message},e.id))})}function c({message:e}){let[n,a]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{requestAnimationFrame(()=>a(!0));let e=setTimeout(()=>a(!1),2e3);return()=>clearTimeout(e)},[]),(0,t.jsx)("div",{className:`bg-card border border-border text-foreground text-sm px-4 py-2 rounded-lg shadow-lg transition-opacity duration-300 ${n?"opacity-100":"opacity-0"}`,children:e})}e.s(["Toaster",()=>d,"toast",()=>s])},47613,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n=(0,r.createContext)(void 0);function a(e){let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()}function o(){return document.documentElement.classList.contains("light")?"light":"dark"}function i(){return"dark"}e.s(["ThemeProvider",0,({children:e})=>{let s=(0,r.useSyncExternalStore)(a,o,i),l=(0,r.useCallback)(e=>{let t=document.documentElement;t.classList.remove("light","dark"),t.classList.add(e);try{localStorage.setItem("theme",e)}catch{}},[]);return(0,t.jsx)(n.Provider,{value:{theme:s,setTheme:l},children:e})},"useTheme",0,()=>{let e=(0,r.useContext)(n);if(void 0===e)throw Error("useTheme must be used within a ThemeProvider");return e}])},88143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:a,objectFit:o}){let i=r?40*r:e,s=n?40*n:t,l=i&&s?`viewBox='0 0 ${i} ${s}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${l}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${l?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${a}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return o},imageConfigDefault:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=["default","imgix","cloudinary","akamai","custom"],i={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return u}}),e.r(33525);let n=e.r(43369),a=e.r(88143),o=e.r(87690),i=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:d=!1,loading:c,className:f,quality:p,width:m,height:h,fill:g=!1,style:x,overrideSrc:b,onLoad:y,onLoadingComplete:v,placeholder:j="empty",blurDataURL:w,fetchPriority:k,decoding:_="async",layout:N,objectFit:P,objectPosition:E,lazyBoundary:S,lazyRoot:C,...O},R){var M;let $,T,I,{imgConf:z,showAltText:L,blurComplete:A,defaultLoader:D}=R,U=z||o.imageConfigDefault;if("allSizes"in U)$=U;else{let e=[...U.deviceSizes,...U.imageSizes].sort((e,t)=>e-t),t=U.deviceSizes.sort((e,t)=>e-t),r=U.qualities?.sort((e,t)=>e-t);$={...U,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===D)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let q=O.loader||D;delete O.loader,delete O.srcSet;let F="__next_img_default"in q;if(F){if("custom"===$.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
2
  Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=q;q=t=>{let{config:r,...n}=t;return e(n)}}if(N){"fill"===N&&(g=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[N];e&&(x={...x,...e});let r={responsive:"100vw",fill:"100vw"}[N];r&&!t&&(t=r)}let B="",W=l(m),H=l(h);if((M=e)&&"object"==typeof M&&(s(M)||void 0!==M.src)){let t=s(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(T=t.blurWidth,I=t.blurHeight,w=w||t.blurDataURL,B=t.src,!g)if(W||H){if(W&&!H){let e=W/t.width;H=Math.round(t.height*e)}else if(!W&&H){let e=H/t.height;W=Math.round(t.width*e)}}else W=t.width,H=t.height}let G=!u&&!d&&("lazy"===c||void 0===c);(!(e="string"==typeof e?e:B)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,G=!1),$.unoptimized&&(r=!0),F&&!$.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let V=l(p),K=Object.assign(g?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:P,objectPosition:E}:{},L?{}:{color:"transparent"},x),X=A||"empty"===j?null:"blur"===j?`url("data:image/svg+xml;charset=utf-8,${(0,a.getImageBlurSvg)({widthInt:W,heightInt:H,blurWidth:T,blurHeight:I,blurDataURL:w||"",objectFit:K.objectFit})}")`:`url("${j}")`,Q=i.includes(K.objectFit)?"fill"===K.objectFit?"100% 100%":"cover":K.objectFit,J=X?{backgroundSize:Q,backgroundPosition:K.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},Z=function({config:e,src:t,unoptimized:r,width:a,quality:o,sizes:i,loader:s}){if(r){let e=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:u}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,a=[];for(let e;e=r.exec(n);)a.push(parseInt(e[2]));if(a.length){let r=.01*Math.min(...a);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,a,i),d=l.length-1;return{sizes:i||"w"!==u?i:"100vw",srcSet:l.map((r,n)=>`${s({config:e,src:t,quality:o,width:r})} ${"w"===u?r:n+1}${u}`).join(", "),src:s({config:e,src:t,quality:o,width:l[d]})}}({config:$,src:e,unoptimized:r,width:W,quality:V,sizes:t,loader:q}),Y=G?"lazy":c;return{props:{...O,loading:Y,fetchPriority:k,width:W,height:H,decoding:_,className:f,style:{...K,...J},sizes:Z.sizes,srcSet:Z.srcSet,src:b||Z.src},meta:{unoptimized:r,preload:d||u,placeholder:j,fill:g}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(71645),a="u"<typeof window,o=a?()=>{}:n.useLayoutEffect,i=a?()=>{}:n.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return a&&(t?.mountedInstances?.add(e.children),s()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return h},defaultHead:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(55682),i=e.r(90809),s=e.r(43476),l=i._(e.r(71645)),u=o._(e.r(98879)),d=e.r(42732);function c(){return[(0,s.jsx)("meta",{charSet:"utf-8"},"charset"),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function m(e){let t,r,n,a;return e.reduce(f,[]).reverse().concat(c().reverse()).filter((t=new Set,r=new Set,n=new Set,a={},e=>{let o=!0,i=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){i=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?o=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?o=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?o=!1:n.add(r);else{let t=e.props[r],n=a[r]||new Set;("name"!==r||!i)&&n.has(t)?o=!1:(n.add(t),a[r]=n)}}}return o})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let h=function({children:e}){let t=(0,l.useContext)(d.HeadManagerContext);return(0,s.jsx)(u.default,{reduceComponentsToState:m,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=e.r(55682)._(e.r(71645)),a=e.r(87690),o=n.default.createContext(a.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}});let n=e.r(70965),a=e.r(43369);function o({config:e,src:t,width:r,quality:o}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,n.findClosestQuality)(o,e),s=(0,a.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${i}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}o.__next_img_default=!0;let i=o},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return v}});let n=e.r(55682),a=e.r(90809),o=e.r(43476),i=a._(e.r(71645)),s=n._(e.r(74080)),l=n._(e.r(25633)),u=e.r(8927),d=e.r(87690),c=e.r(18556);e.r(33525);let f=e.r(65856),p=n._(e.r(1948)),m=e.r(18581),h={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function g(e,t,r,n,a,o,i){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&a(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,a=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>a,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{a=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function x(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,i.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:a,decoding:s,className:l,style:u,fetchPriority:d,placeholder:c,loading:f,unoptimized:p,fill:h,onLoadRef:b,onLoadingCompleteRef:y,setBlurComplete:v,setShowAltText:j,sizesInput:w,onLoad:k,onError:_,...N},P)=>{let E=(0,i.useCallback)(e=>{e&&(_&&(e.src=e.src),e.complete&&g(e,c,b,y,v,p,w))},[e,c,b,y,v,_,p,w]),S=(0,m.useMergedRef)(P,E);return(0,o.jsx)("img",{...N,...x(d),loading:f,width:a,height:n,decoding:s,"data-nimg":h?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:S,onLoad:e=>{g(e.currentTarget,c,b,y,v,p,w)},onError:e=>{j(!0),"empty"!==c&&v(!0),_&&_(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...x(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,o.jsx)(l.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let v=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(f.RouterContext),n=(0,i.useContext)(c.ImageConfigContext),a=(0,i.useMemo)(()=>{let e=h||n||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),a=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:a,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,m=(0,i.useRef)(s);(0,i.useEffect)(()=>{m.current=s},[s]);let g=(0,i.useRef)(l);(0,i.useEffect)(()=>{g.current=l},[l]);let[x,v]=(0,i.useState)(!1),[j,w]=(0,i.useState)(!1),{props:k,meta:_}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:a,blurComplete:x,showAltText:j});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(b,{...k,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:g,setBlurComplete:v,setShowAltText:w,sizesInput:e.sizes,ref:t}),_.preload?(0,o.jsx)(y,{isAppRouter:!r,imgAttributes:k}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return d},getImageProps:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(55682),i=e.r(8927),s=e.r(5500),l=o._(e.r(1948));function u(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=s.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},15127,e=>{"use strict";var t=e.i(43476),r=e.i(57688),n=e.i(47613);e.s(["Logo",0,({width:e=32,height:a=32,className:o=""})=>{let{theme:i}=(0,n.useTheme)();return(0,t.jsx)(r.default,{src:"light"===i?"/exospheresmall-dark.png":"/exospheresmall.png",alt:"Exosphere Logo",width:e,height:a,className:o,priority:!0})}])},63780,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(22016),a=e.i(18566),o=e.i(75254);let i=(0,o.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),s=(0,o.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),l=(0,o.default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);var u=e.i(15127);let d=(0,o.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),c=(0,o.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);var f=e.i(47613),p=e.i(47163);let m=r.forwardRef(({className:e,variant:r="default",size:n="default",...a},o)=>(0,t.jsx)("button",{className:(0,p.cn)("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none",{"bg-primary text-primary-foreground hover:bg-primary/90":"default"===r,"hover:bg-muted hover:text-muted-foreground":"ghost"===r,"border border-border bg-background hover:bg-muted":"outline"===r,"h-10 py-2 px-4":"default"===n,"h-10 w-10":"icon"===n,"h-9 px-3":"sm"===n,"h-11 px-8":"lg"===n},e),ref:o,...a}));m.displayName="Button";let h=()=>{let{theme:e,setTheme:r}=(0,f.useTheme)();return(0,t.jsxs)(m,{variant:"ghost",size:"icon",onClick:()=>{r("light"===e?"dark":"light")},className:"relative","aria-label":`Switch to ${"light"===e?"dark":"light"} mode`,children:[(0,t.jsx)(d,{className:`h-[1.2rem] w-[1.2rem] transition-all ${"light"===e?"rotate-0 scale-100":"rotate-90 scale-0"}`}),(0,t.jsx)(c,{className:`absolute h-[1.2rem] w-[1.2rem] transition-all ${"dark"===e?"rotate-0 scale-100":"rotate-90 scale-0"}`})]})},g=(0,o.default)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]),x=(0,o.default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]),b=(0,o.default)("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);var y=e.i(86311),v=e.i(64659);let j="claudeye@exosphere.host",w=[{label:"Request a Feature",icon:x,subject:"Feature Request: "},{label:"Report a Bug",icon:b,subject:"Bug Report: "},{label:"General Inquiry",icon:y.MessageSquare,subject:"General Inquiry: "}],k=()=>{let[e,n]=(0,r.useState)(!1),a=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=e=>{a.current&&!a.current.contains(e.target)&&n(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let o=(0,r.useCallback)(t=>{"Escape"===t.key&&e&&n(!1)},[e]);return(0,t.jsxs)("div",{ref:a,className:"relative",onKeyDown:o,children:[(0,t.jsxs)(m,{variant:"ghost",size:"sm",onClick:()=>n(e=>!e),"aria-expanded":e,"aria-haspopup":"true",className:"flex items-center gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(g,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"hidden sm:inline text-xs",children:"Reach Us"}),(0,t.jsx)(v.ChevronDown,{className:`h-3 w-3 transition-transform ${e?"rotate-180":""}`})]}),e&&(0,t.jsxs)("div",{className:"absolute right-0 mt-2 w-56 rounded-lg border border-border bg-card shadow-lg z-50",role:"menu",children:[(0,t.jsxs)("div",{className:"px-3 py-2 border-b border-border",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Reach Developers"}),(0,t.jsx)("p",{className:"text-[0.65rem] text-muted-foreground mt-0.5",children:"We'd love to hear from you"})]}),(0,t.jsx)("div",{className:"py-1",children:w.map(({label:e,icon:r,subject:a})=>(0,t.jsxs)("a",{href:`mailto:${j}?subject=${encodeURIComponent(a)}`,role:"menuitem",className:"flex items-center gap-2.5 px-3 py-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",onClick:()=>n(!1),children:[(0,t.jsx)(r,{className:"h-3.5 w-3.5 flex-shrink-0"}),e]},e))}),(0,t.jsx)("div",{className:"px-3 py-2 border-t border-border",children:(0,t.jsx)("a",{href:`mailto:${j}`,className:"text-[0.65rem] text-primary hover:text-primary/80 transition-colors",children:j})})]})]})},_=(0,o.default)("list-ordered",[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]);function N({type:e}){let r="eval"===e?"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":"action"===e?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400";return(0,t.jsx)("span",{className:`inline-flex items-center rounded px-1 py-0.5 text-[0.6rem] font-medium leading-none ${r}`,children:e.toUpperCase()})}let P=()=>{let[e,a]=(0,r.useState)(!1),[o,i]=(0,r.useState)(null),s=(0,r.useRef)(null),l=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/queue-status",{cache:"no-store"});e.ok&&i(await e.json())}catch{}},[]);(0,r.useEffect)(()=>{let t=e?2e3:5e3,r=setTimeout(l,0),n=setInterval(l,t);return()=>{clearTimeout(r),clearInterval(n)}},[e,l]),(0,r.useEffect)(()=>{let e=e=>{s.current&&!s.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let u=(0,r.useCallback)(t=>{"Escape"===t.key&&e&&a(!1)},[e]),d=o?.pending.length??0,c=o?.processing.length??0,f=d+c;return(0,t.jsxs)("div",{ref:s,className:"relative",onKeyDown:u,children:[(0,t.jsxs)(m,{variant:"ghost",size:"sm",onClick:()=>a(e=>!e),"aria-expanded":e,"aria-haspopup":"true",className:"relative flex items-center gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(_,{className:"h-4 w-4"}),f>0?(0,t.jsx)("span",{className:"absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 text-[0.6rem] font-medium text-primary-foreground",children:f}):null]}),e&&(0,t.jsxs)("div",{className:"absolute right-0 mt-2 w-72 rounded-lg border border-border bg-card shadow-lg z-50",children:[(0,t.jsxs)("div",{className:"px-3 py-2 border-b border-border",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Queue"}),o&&(0,t.jsxs)("p",{className:"text-[0.65rem] text-muted-foreground mt-0.5",children:[d," queued · ",c," processing"]})]}),(0,t.jsx)("div",{className:"max-h-64 overflow-y-auto",children:o?0===o.processing.length&&0===o.pending.length?(0,t.jsx)("p",{className:"px-3 py-4 text-xs text-muted-foreground text-center",children:"Queue is empty"}):(0,t.jsxs)("div",{className:"py-1",children:[o.processing.slice(0,7).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-xs",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-blue-500 animate-pulse flex-shrink-0"}),(0,t.jsx)(N,{type:e.type}),(0,t.jsx)("span",{className:"text-foreground truncate flex-1 font-mono text-[0.65rem]",children:e.itemName})]},e.key)),o.processing.length>7&&(0,t.jsxs)("p",{className:"px-3 py-1 text-[0.6rem] text-muted-foreground",children:["...and ",o.processing.length-7," more"]}),o.pending.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-xs",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-muted-foreground/40 flex-shrink-0"}),(0,t.jsx)(N,{type:e.type}),(0,t.jsx)("span",{className:"text-muted-foreground truncate flex-1 font-mono text-[0.65rem]",children:e.itemName}),(0,t.jsx)("span",{className:`text-[0.6rem] font-medium flex-shrink-0 ${e.priority<=0?"text-red-600 dark:text-red-400":"text-muted-foreground"}`,children:e.priority<=0?"HIGH":"LOW"})]},e.key)),o.pending.length>5&&(0,t.jsxs)("p",{className:"px-3 py-1 text-[0.6rem] text-muted-foreground",children:["...and ",o.pending.length-5," more queued"]})]}):(0,t.jsx)("p",{className:"px-3 py-4 text-xs text-muted-foreground text-center",children:"Loading..."})}),o&&o.recentErrors.length>0&&(0,t.jsx)("div",{className:"px-3 py-2 border-t border-border",children:(0,t.jsxs)("p",{className:"text-[0.6rem] text-red-600 dark:text-red-400",children:[o.recentErrors.length," recent error",1!==o.recentErrors.length?"s":""]})}),(0,t.jsx)("div",{className:"px-3 py-2 border-t border-border text-center",children:(0,t.jsx)(n.default,{href:"/queue",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>a(!1),children:"View details"})})]})]})};var E=e.i(16715),S=e.i(85881);let C=[{label:"Off",value:0},{label:"5s",value:5},{label:"10s",value:10},{label:"30s",value:30}];function O({className:e}){let n=(0,a.useRouter)(),[o,i]=(0,r.useTransition)(),{intervalSec:s,setIntervalSec:l}=(0,S.useAutoRefresh)(),u=(0,r.useCallback)(()=>{i(()=>n.refresh())},[n]);(0,r.useEffect)(()=>{if(s<=0)return;let e=setInterval(u,1e3*s);return()=>clearInterval(e)},[s,u]);let d=s>0;return(0,t.jsxs)("div",{className:(0,p.cn)("inline-flex items-center rounded-lg border border-border bg-muted/50 p-0.5 gap-0.5",e),children:[(0,t.jsx)("button",{onClick:u,title:"Refresh",className:(0,p.cn)("inline-flex items-center justify-center rounded-md p-1.5 transition-colors",d?"text-primary hover:bg-primary/10":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:(0,t.jsx)(E.RefreshCw,{className:(0,p.cn)("w-3.5 h-3.5",o&&"animate-spin")})}),(0,t.jsx)("div",{className:"w-px h-4 bg-border"}),(0,t.jsx)("div",{className:"inline-flex items-center gap-0.5",role:"group","aria-label":"Auto-refresh interval",children:C.map(e=>(0,t.jsx)("button",{onClick:()=>l(e.value),"aria-pressed":s===e.value,className:(0,p.cn)("px-2 py-1 text-[11px] font-medium rounded-md transition-colors",s===e.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:e.label},e.value))})]})}var R=e.i(95187);let M=(0,R.createServerReference)("00bf59f6aba0bcc42f3f0dc4d733abff798b41ec18",R.callServer,void 0,R.findSourceMapURL,"logout"),$=[{href:"/",label:"Projects",icon:s},{href:"/dashboard",label:"Dashboard",icon:i}];e.s(["Navbar",0,()=>{let e=(0,a.usePathname)(),o=(0,a.useRouter)(),[i,s]=(0,r.useState)(!1);async function d(){let e=await M();s(!1),o.push(e.redirectTo)}return(0,r.useEffect)(()=>{s(document.cookie.split(";").map(e=>e.trim()).some(e=>e.startsWith("claudeye_auth=")))},[e]),(0,t.jsx)("header",{className:"relative z-50 border-b border-border bg-card/50 backdrop-blur supports-[backdrop-filter]:bg-card/50",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("a",{href:"https://claudeye.exosphere.host",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 hover:opacity-80 transition-opacity",children:[(0,t.jsx)(u.Logo,{width:28,height:28,className:"flex-shrink-0"}),(0,t.jsx)("h1",{className:"text-lg font-semibold text-foreground leading-tight tracking-tight",children:"Claudeye"})]}),(0,t.jsx)("div",{className:"w-px h-8 bg-border ml-2"}),(0,t.jsx)("nav",{className:"flex items-center h-16",children:$.map(({href:r,label:a,icon:o})=>{let i="/"===r?"/"===e||e.startsWith("/project"):e.startsWith(r);return(0,t.jsxs)(n.default,{href:r,className:`relative flex items-center gap-1.5 px-3 h-full text-sm transition-colors ${i?"text-foreground font-medium":"text-muted-foreground hover:text-foreground"}`,children:[(0,t.jsx)(o,{className:`w-4 h-4 ${i?"text-primary":""}`}),a,(0,t.jsx)("span",{className:`absolute inset-x-1 bottom-0 h-[2px] rounded-full transition-all ${i?"bg-primary":"bg-transparent group-hover:bg-muted"}`})]},r)})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(O,{}),(0,t.jsx)("div",{className:"w-px h-6 bg-border mx-1"}),(0,t.jsx)(k,{}),(0,t.jsx)(h,{}),(0,t.jsx)(P,{}),i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"w-px h-6 bg-border mx-1"}),(0,t.jsxs)("button",{onClick:d,className:"inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:"Sign out",children:[(0,t.jsx)(l,{className:"w-4 h-4"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"Sign out"})]})]})]})]})})})}],63780)}]);
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,n.findClosestQuality)(o,e),s=(0,a.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${i}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}o.__next_img_default=!0;let i=o},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return v}});let n=e.r(55682),a=e.r(90809),o=e.r(43476),i=a._(e.r(71645)),s=n._(e.r(74080)),l=n._(e.r(25633)),u=e.r(8927),d=e.r(87690),c=e.r(18556);e.r(33525);let f=e.r(65856),p=n._(e.r(1948)),m=e.r(18581),h={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function g(e,t,r,n,a,o,i){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&a(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,a=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>a,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{a=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function x(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,i.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:a,decoding:s,className:l,style:u,fetchPriority:d,placeholder:c,loading:f,unoptimized:p,fill:h,onLoadRef:b,onLoadingCompleteRef:y,setBlurComplete:v,setShowAltText:j,sizesInput:w,onLoad:k,onError:_,...N},P)=>{let E=(0,i.useCallback)(e=>{e&&(_&&(e.src=e.src),e.complete&&g(e,c,b,y,v,p,w))},[e,c,b,y,v,_,p,w]),S=(0,m.useMergedRef)(P,E);return(0,o.jsx)("img",{...N,...x(d),loading:f,width:a,height:n,decoding:s,"data-nimg":h?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:S,onLoad:e=>{g(e.currentTarget,c,b,y,v,p,w)},onError:e=>{j(!0),"empty"!==c&&v(!0),_&&_(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...x(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,o.jsx)(l.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let v=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(f.RouterContext),n=(0,i.useContext)(c.ImageConfigContext),a=(0,i.useMemo)(()=>{let e=h||n||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),a=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:a,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,m=(0,i.useRef)(s);(0,i.useEffect)(()=>{m.current=s},[s]);let g=(0,i.useRef)(l);(0,i.useEffect)(()=>{g.current=l},[l]);let[x,v]=(0,i.useState)(!1),[j,w]=(0,i.useState)(!1),{props:k,meta:_}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:a,blurComplete:x,showAltText:j});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(b,{...k,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:g,setBlurComplete:v,setShowAltText:w,sizesInput:e.sizes,ref:t}),_.preload?(0,o.jsx)(y,{isAppRouter:!r,imgAttributes:k}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return d},getImageProps:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(55682),i=e.r(8927),s=e.r(5500),l=o._(e.r(1948));function u(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=s.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},15127,e=>{"use strict";var t=e.i(43476),r=e.i(57688),n=e.i(47613);e.s(["Logo",0,({width:e=32,height:a=32,className:o=""})=>{let{theme:i}=(0,n.useTheme)();return(0,t.jsx)(r.default,{src:"light"===i?"/exospheresmall-dark.png":"/exospheresmall.png",alt:"Exosphere Logo",width:e,height:a,className:o,priority:!0})}])},63780,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(22016),a=e.i(18566),o=e.i(75254);let i=(0,o.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),s=(0,o.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),l=(0,o.default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);var u=e.i(15127);let d=(0,o.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),c=(0,o.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);var f=e.i(47613),p=e.i(47163);let m=r.forwardRef(({className:e,variant:r="default",size:n="default",...a},o)=>(0,t.jsx)("button",{className:(0,p.cn)("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none",{"bg-primary text-primary-foreground hover:bg-primary/90":"default"===r,"hover:bg-muted hover:text-muted-foreground":"ghost"===r,"border border-border bg-background hover:bg-muted":"outline"===r,"h-10 py-2 px-4":"default"===n,"h-10 w-10":"icon"===n,"h-9 px-3":"sm"===n,"h-11 px-8":"lg"===n},e),ref:o,...a}));m.displayName="Button";let h=()=>{let{theme:e,setTheme:r}=(0,f.useTheme)();return(0,t.jsxs)(m,{variant:"ghost",size:"icon",onClick:()=>{r("light"===e?"dark":"light")},className:"relative","aria-label":`Switch to ${"light"===e?"dark":"light"} mode`,children:[(0,t.jsx)(d,{className:`h-[1.2rem] w-[1.2rem] transition-all ${"light"===e?"rotate-0 scale-100":"rotate-90 scale-0"}`}),(0,t.jsx)(c,{className:`absolute h-[1.2rem] w-[1.2rem] transition-all ${"dark"===e?"rotate-0 scale-100":"rotate-90 scale-0"}`})]})},g=(0,o.default)("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]),x=(0,o.default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]),b=(0,o.default)("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);var y=e.i(86311),v=e.i(64659);let j="claudeye@exosphere.host",w=[{label:"Request a Feature",icon:x,subject:"Feature Request: "},{label:"Report a Bug",icon:b,subject:"Bug Report: "},{label:"General Inquiry",icon:y.MessageSquare,subject:"General Inquiry: "}],k=()=>{let[e,n]=(0,r.useState)(!1),a=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=e=>{a.current&&!a.current.contains(e.target)&&n(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let o=(0,r.useCallback)(t=>{"Escape"===t.key&&e&&n(!1)},[e]);return(0,t.jsxs)("div",{ref:a,className:"relative",onKeyDown:o,children:[(0,t.jsxs)(m,{variant:"ghost",size:"sm",onClick:()=>n(e=>!e),"aria-expanded":e,"aria-haspopup":"true",className:"flex items-center gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(g,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"hidden sm:inline text-xs",children:"Reach Us"}),(0,t.jsx)(v.ChevronDown,{className:`h-3 w-3 transition-transform ${e?"rotate-180":""}`})]}),e&&(0,t.jsxs)("div",{className:"absolute right-0 mt-2 w-56 rounded-lg border border-border bg-card shadow-lg z-50",role:"menu",children:[(0,t.jsxs)("div",{className:"px-3 py-2 border-b border-border",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Reach Developers"}),(0,t.jsx)("p",{className:"text-[0.65rem] text-muted-foreground mt-0.5",children:"We'd love to hear from you"})]}),(0,t.jsx)("div",{className:"py-1",children:w.map(({label:e,icon:r,subject:a})=>(0,t.jsxs)("a",{href:`mailto:${j}?subject=${encodeURIComponent(a)}`,role:"menuitem",className:"flex items-center gap-2.5 px-3 py-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",onClick:()=>n(!1),children:[(0,t.jsx)(r,{className:"h-3.5 w-3.5 flex-shrink-0"}),e]},e))}),(0,t.jsx)("div",{className:"px-3 py-2 border-t border-border",children:(0,t.jsx)("a",{href:`mailto:${j}`,className:"text-[0.65rem] text-primary hover:text-primary/80 transition-colors",children:j})})]})]})},_=(0,o.default)("list-ordered",[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]);function N({type:e}){let r="eval"===e?"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":"action"===e?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400";return(0,t.jsx)("span",{className:`inline-flex items-center rounded px-1 py-0.5 text-[0.6rem] font-medium leading-none ${r}`,children:e.toUpperCase()})}let P=()=>{let[e,a]=(0,r.useState)(!1),[o,i]=(0,r.useState)(null),s=(0,r.useRef)(null),l=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/queue-status",{cache:"no-store"});e.ok&&i(await e.json())}catch{}},[]);(0,r.useEffect)(()=>{let t=e?2e3:5e3,r=setTimeout(l,0),n=setInterval(l,t);return()=>{clearTimeout(r),clearInterval(n)}},[e,l]),(0,r.useEffect)(()=>{let e=e=>{s.current&&!s.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let u=(0,r.useCallback)(t=>{"Escape"===t.key&&e&&a(!1)},[e]),d=o?.pending.length??0,c=o?.processing.length??0,f=d+c;return(0,t.jsxs)("div",{ref:s,className:"relative",onKeyDown:u,children:[(0,t.jsxs)(m,{variant:"ghost",size:"sm",onClick:()=>a(e=>!e),"aria-expanded":e,"aria-haspopup":"true",className:"relative flex items-center gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(_,{className:"h-4 w-4"}),f>0?(0,t.jsx)("span",{className:"absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 text-[0.6rem] font-medium text-primary-foreground",children:f}):null]}),e&&(0,t.jsxs)("div",{className:"absolute right-0 mt-2 w-72 rounded-lg border border-border bg-card shadow-lg z-50",children:[(0,t.jsxs)("div",{className:"px-3 py-2 border-b border-border",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-foreground",children:"Queue"}),o&&(0,t.jsxs)("p",{className:"text-[0.65rem] text-muted-foreground mt-0.5",children:[d," queued · ",c," processing"]})]}),(0,t.jsx)("div",{className:"max-h-64 overflow-y-auto",children:o?0===o.processing.length&&0===o.pending.length?(0,t.jsx)("p",{className:"px-3 py-4 text-xs text-muted-foreground text-center",children:"Queue is empty"}):(0,t.jsxs)("div",{className:"py-1",children:[o.processing.slice(0,7).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-xs",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-blue-500 animate-pulse flex-shrink-0"}),(0,t.jsx)(N,{type:e.type}),(0,t.jsx)("span",{className:"text-foreground truncate flex-1 font-mono text-[0.65rem]",children:e.itemName})]},e.key)),o.processing.length>7&&(0,t.jsxs)("p",{className:"px-3 py-1 text-[0.6rem] text-muted-foreground",children:["...and ",o.processing.length-7," more"]}),o.pending.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-xs",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-muted-foreground/40 flex-shrink-0"}),(0,t.jsx)(N,{type:e.type}),(0,t.jsx)("span",{className:"text-muted-foreground truncate flex-1 font-mono text-[0.65rem]",children:e.itemName}),(0,t.jsx)("span",{className:`text-[0.6rem] font-medium flex-shrink-0 ${e.priority<=0?"text-red-600 dark:text-red-400":"text-muted-foreground"}`,children:e.priority<=0?"HIGH":"LOW"})]},e.key)),o.pending.length>5&&(0,t.jsxs)("p",{className:"px-3 py-1 text-[0.6rem] text-muted-foreground",children:["...and ",o.pending.length-5," more queued"]})]}):(0,t.jsx)("p",{className:"px-3 py-4 text-xs text-muted-foreground text-center",children:"Loading..."})}),o&&o.recentErrors.length>0&&(0,t.jsx)("div",{className:"px-3 py-2 border-t border-border",children:(0,t.jsxs)("p",{className:"text-[0.6rem] text-red-600 dark:text-red-400",children:[o.recentErrors.length," recent error",1!==o.recentErrors.length?"s":""]})}),(0,t.jsx)("div",{className:"px-3 py-2 border-t border-border text-center",children:(0,t.jsx)(n.default,{href:"/queue",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>a(!1),children:"View details"})})]})]})};var E=e.i(16715),S=e.i(85881);let C=[{label:"Off",value:0},{label:"5s",value:5},{label:"10s",value:10},{label:"30s",value:30}];function O({className:e}){let n=(0,a.useRouter)(),[o,i]=(0,r.useTransition)(),{intervalSec:s,setIntervalSec:l}=(0,S.useAutoRefresh)(),u=(0,r.useCallback)(()=>{i(()=>n.refresh())},[n]);(0,r.useEffect)(()=>{if(s<=0)return;let e=setInterval(u,1e3*s);return()=>clearInterval(e)},[s,u]);let d=s>0;return(0,t.jsxs)("div",{className:(0,p.cn)("inline-flex items-center rounded-lg border border-border bg-muted/50 p-0.5 gap-0.5",e),children:[(0,t.jsx)("button",{onClick:u,title:"Refresh",className:(0,p.cn)("inline-flex items-center justify-center rounded-md p-1.5 transition-colors",d?"text-primary hover:bg-primary/10":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:(0,t.jsx)(E.RefreshCw,{className:(0,p.cn)("w-3.5 h-3.5",o&&"animate-spin")})}),(0,t.jsx)("div",{className:"w-px h-4 bg-border"}),(0,t.jsx)("div",{className:"inline-flex items-center gap-0.5",role:"group","aria-label":"Auto-refresh interval",children:C.map(e=>(0,t.jsx)("button",{onClick:()=>l(e.value),"aria-pressed":s===e.value,className:(0,p.cn)("px-2 py-1 text-[11px] font-medium rounded-md transition-colors",s===e.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:e.label},e.value))})]})}var R=e.i(95187);let M=(0,R.createServerReference)("00b92d70c5159a892772213905bf859c8e9624ec59",R.callServer,void 0,R.findSourceMapURL,"logout"),$=[{href:"/",label:"Projects",icon:s},{href:"/dashboard",label:"Dashboard",icon:i}];e.s(["Navbar",0,()=>{let e=(0,a.usePathname)(),o=(0,a.useRouter)(),[i,s]=(0,r.useState)(!1);async function d(){let e=await M();s(!1),o.push(e.redirectTo)}return(0,r.useEffect)(()=>{s(document.cookie.split(";").map(e=>e.trim()).some(e=>e.startsWith("claudeye_auth=")))},[e]),(0,t.jsx)("header",{className:"relative z-50 border-b border-border bg-card/50 backdrop-blur supports-[backdrop-filter]:bg-card/50",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("a",{href:"https://claudeye.exosphere.host",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 hover:opacity-80 transition-opacity",children:[(0,t.jsx)(u.Logo,{width:28,height:28,className:"flex-shrink-0"}),(0,t.jsx)("h1",{className:"text-lg font-semibold text-foreground leading-tight tracking-tight",children:"Claudeye"})]}),(0,t.jsx)("div",{className:"w-px h-8 bg-border ml-2"}),(0,t.jsx)("nav",{className:"flex items-center h-16",children:$.map(({href:r,label:a,icon:o})=>{let i="/"===r?"/"===e||e.startsWith("/project"):e.startsWith(r);return(0,t.jsxs)(n.default,{href:r,className:`relative flex items-center gap-1.5 px-3 h-full text-sm transition-colors ${i?"text-foreground font-medium":"text-muted-foreground hover:text-foreground"}`,children:[(0,t.jsx)(o,{className:`w-4 h-4 ${i?"text-primary":""}`}),a,(0,t.jsx)("span",{className:`absolute inset-x-1 bottom-0 h-[2px] rounded-full transition-all ${i?"bg-primary":"bg-transparent group-hover:bg-muted"}`})]},r)})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(O,{}),(0,t.jsx)("div",{className:"w-px h-6 bg-border mx-1"}),(0,t.jsx)(k,{}),(0,t.jsx)(h,{}),(0,t.jsx)(P,{}),i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"w-px h-6 bg-border mx-1"}),(0,t.jsxs)("button",{onClick:d,className:"inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",title:"Sign out",children:[(0,t.jsx)(l,{className:"w-4 h-4"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"Sign out"})]})]})]})]})})})}],63780)}]);
@@ -0,0 +1,34 @@
1
+ let parsedStackResults;
2
+ let lastKeysCount;
3
+ let cachedFilenameChunkIds;
4
+ function getFilenameToChunkIdMap(stackParser) {
5
+ const chunkIdMap = globalThis._posthogChunkIds;
6
+ if (!chunkIdMap) return;
7
+ const chunkIdKeys = Object.keys(chunkIdMap);
8
+ if (cachedFilenameChunkIds && chunkIdKeys.length === lastKeysCount) return cachedFilenameChunkIds;
9
+ lastKeysCount = chunkIdKeys.length;
10
+ cachedFilenameChunkIds = chunkIdKeys.reduce((acc, stackKey)=>{
11
+ if (!parsedStackResults) parsedStackResults = {};
12
+ const result = parsedStackResults[stackKey];
13
+ if (result) acc[result[0]] = result[1];
14
+ else {
15
+ const parsedStack = stackParser(stackKey);
16
+ for(let i = parsedStack.length - 1; i >= 0; i--){
17
+ const stackFrame = parsedStack[i];
18
+ const filename = stackFrame?.filename;
19
+ const chunkId = chunkIdMap[stackKey];
20
+ if (filename && chunkId) {
21
+ acc[filename] = chunkId;
22
+ parsedStackResults[stackKey] = [
23
+ filename,
24
+ chunkId
25
+ ];
26
+ break;
27
+ }
28
+ }
29
+ }
30
+ return acc;
31
+ }, {});
32
+ return cachedFilenameChunkIds;
33
+ }
34
+ export { getFilenameToChunkIdMap };
@@ -0,0 +1,31 @@
1
+ import { isBuiltin, isString } from "../../utils/index.mjs";
2
+ class DOMExceptionCoercer {
3
+ match(err) {
4
+ return this.isDOMException(err) || this.isDOMError(err);
5
+ }
6
+ coerce(err, ctx) {
7
+ const hasStack = isString(err.stack);
8
+ return {
9
+ type: this.getType(err),
10
+ value: this.getValue(err),
11
+ stack: hasStack ? err.stack : void 0,
12
+ cause: err.cause ? ctx.next(err.cause) : void 0,
13
+ synthetic: false
14
+ };
15
+ }
16
+ getType(candidate) {
17
+ return this.isDOMError(candidate) ? 'DOMError' : 'DOMException';
18
+ }
19
+ getValue(err) {
20
+ const name = err.name || (this.isDOMError(err) ? 'DOMError' : 'DOMException');
21
+ const message = err.message ? `${name}: ${err.message}` : name;
22
+ return message;
23
+ }
24
+ isDOMException(err) {
25
+ return isBuiltin(err, 'DOMException');
26
+ }
27
+ isDOMError(err) {
28
+ return isBuiltin(err, 'DOMError');
29
+ }
30
+ }
31
+ export { DOMExceptionCoercer };
@@ -0,0 +1,27 @@
1
+ import { isPlainError } from "../../utils/index.mjs";
2
+ class ErrorCoercer {
3
+ match(err) {
4
+ return isPlainError(err);
5
+ }
6
+ coerce(err, ctx) {
7
+ return {
8
+ type: this.getType(err),
9
+ value: this.getMessage(err, ctx),
10
+ stack: this.getStack(err),
11
+ cause: err.cause ? ctx.next(err.cause) : void 0,
12
+ synthetic: false
13
+ };
14
+ }
15
+ getType(err) {
16
+ return err.name || err.constructor.name;
17
+ }
18
+ getMessage(err, _ctx) {
19
+ const message = err.message;
20
+ if (message.error && 'string' == typeof message.error.message) return String(message.error.message);
21
+ return String(message);
22
+ }
23
+ getStack(err) {
24
+ return err.stacktrace || err.stack || void 0;
25
+ }
26
+ }
27
+ export { ErrorCoercer };
@@ -0,0 +1,18 @@
1
+ import { isErrorEvent } from "../../utils/index.mjs";
2
+ class ErrorEventCoercer {
3
+ constructor(){}
4
+ match(err) {
5
+ return isErrorEvent(err) && void 0 != err.error;
6
+ }
7
+ coerce(err, ctx) {
8
+ const exceptionLike = ctx.apply(err.error);
9
+ if (!exceptionLike) return {
10
+ type: 'ErrorEvent',
11
+ value: err.message,
12
+ stack: ctx.syntheticException?.stack,
13
+ synthetic: true
14
+ };
15
+ return exceptionLike;
16
+ }
17
+ }
18
+ export { ErrorEventCoercer };
@@ -0,0 +1,17 @@
1
+ import { isEvent } from "../../utils/index.mjs";
2
+ import { extractExceptionKeysForMessage } from "./utils.mjs";
3
+ class EventCoercer {
4
+ match(err) {
5
+ return isEvent(err);
6
+ }
7
+ coerce(evt, ctx) {
8
+ const constructorName = evt.constructor.name;
9
+ return {
10
+ type: constructorName,
11
+ value: `${constructorName} captured as exception with keys: ${extractExceptionKeysForMessage(evt)}`,
12
+ stack: ctx.syntheticException?.stack,
13
+ synthetic: true
14
+ };
15
+ }
16
+ }
17
+ export { EventCoercer };
@@ -0,0 +1,8 @@
1
+ export * from "./dom-exception-coercer.mjs";
2
+ export * from "./error-coercer.mjs";
3
+ export * from "./error-event-coercer.mjs";
4
+ export * from "./string-coercer.mjs";
5
+ export * from "./object-coercer.mjs";
6
+ export * from "./event-coercer.mjs";
7
+ export * from "./primitive-coercer.mjs";
8
+ export * from "./promise-rejection-event.mjs";
@@ -0,0 +1,51 @@
1
+ import { isEmptyString, isError, isEvent, isString } from "../../utils/index.mjs";
2
+ import { severityLevels } from "../types.mjs";
3
+ import { extractExceptionKeysForMessage } from "./utils.mjs";
4
+ class ObjectCoercer {
5
+ match(candidate) {
6
+ return 'object' == typeof candidate && null !== candidate;
7
+ }
8
+ coerce(candidate, ctx) {
9
+ const errorProperty = this.getErrorPropertyFromObject(candidate);
10
+ if (errorProperty) return ctx.apply(errorProperty);
11
+ return {
12
+ type: this.getType(candidate),
13
+ value: this.getValue(candidate),
14
+ stack: ctx.syntheticException?.stack,
15
+ level: this.isSeverityLevel(candidate.level) ? candidate.level : 'error',
16
+ synthetic: true
17
+ };
18
+ }
19
+ getType(err) {
20
+ return isEvent(err) ? err.constructor.name : 'Error';
21
+ }
22
+ getValue(err) {
23
+ if ('name' in err && 'string' == typeof err.name) {
24
+ let message = `'${err.name}' captured as exception`;
25
+ if ('message' in err && 'string' == typeof err.message) message += ` with message: '${err.message}'`;
26
+ return message;
27
+ }
28
+ if ('message' in err && 'string' == typeof err.message) return err.message;
29
+ const className = this.getObjectClassName(err);
30
+ const keys = extractExceptionKeysForMessage(err);
31
+ return `${className && 'Object' !== className ? `'${className}'` : 'Object'} captured as exception with keys: ${keys}`;
32
+ }
33
+ isSeverityLevel(x) {
34
+ return isString(x) && !isEmptyString(x) && severityLevels.indexOf(x) >= 0;
35
+ }
36
+ getErrorPropertyFromObject(obj) {
37
+ for(const prop in obj)if (Object.prototype.hasOwnProperty.call(obj, prop)) {
38
+ const value = obj[prop];
39
+ if (isError(value)) return value;
40
+ }
41
+ }
42
+ getObjectClassName(obj) {
43
+ try {
44
+ const prototype = Object.getPrototypeOf(obj);
45
+ return prototype ? prototype.constructor.name : void 0;
46
+ } catch (e) {
47
+ return;
48
+ }
49
+ }
50
+ }
51
+ export { ObjectCoercer };
@@ -0,0 +1,15 @@
1
+ import { isPrimitive } from "../../utils/index.mjs";
2
+ class PrimitiveCoercer {
3
+ match(candidate) {
4
+ return isPrimitive(candidate);
5
+ }
6
+ coerce(value, ctx) {
7
+ return {
8
+ type: 'Error',
9
+ value: `Primitive value captured as exception: ${String(value)}`,
10
+ stack: ctx.syntheticException?.stack,
11
+ synthetic: true
12
+ };
13
+ }
14
+ }
15
+ export { PrimitiveCoercer };
@@ -0,0 +1,25 @@
1
+ import { isBuiltin, isPrimitive } from "../../utils/index.mjs";
2
+ class PromiseRejectionEventCoercer {
3
+ match(err) {
4
+ return isBuiltin(err, 'PromiseRejectionEvent');
5
+ }
6
+ coerce(err, ctx) {
7
+ const reason = this.getUnhandledRejectionReason(err);
8
+ if (isPrimitive(reason)) return {
9
+ type: 'UnhandledRejection',
10
+ value: `Non-Error promise rejection captured with value: ${String(reason)}`,
11
+ stack: ctx.syntheticException?.stack,
12
+ synthetic: true
13
+ };
14
+ return ctx.apply(reason);
15
+ }
16
+ getUnhandledRejectionReason(error) {
17
+ if (isPrimitive(error)) return error;
18
+ try {
19
+ if ('reason' in error) return error.reason;
20
+ if ('detail' in error && 'reason' in error.detail) return error.detail.reason;
21
+ } catch {}
22
+ return error;
23
+ }
24
+ }
25
+ export { PromiseRejectionEventCoercer };
@@ -0,0 +1,29 @@
1
+ const ERROR_TYPES_PATTERN = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;
2
+ class StringCoercer {
3
+ match(input) {
4
+ return 'string' == typeof input;
5
+ }
6
+ coerce(input, ctx) {
7
+ const [type, value] = this.getInfos(input);
8
+ return {
9
+ type: type ?? 'Error',
10
+ value: value ?? input,
11
+ stack: ctx.syntheticException?.stack,
12
+ synthetic: true
13
+ };
14
+ }
15
+ getInfos(candidate) {
16
+ let type = 'Error';
17
+ let value = candidate;
18
+ const groups = candidate.match(ERROR_TYPES_PATTERN);
19
+ if (groups) {
20
+ type = groups[1];
21
+ value = groups[2];
22
+ }
23
+ return [
24
+ type,
25
+ value
26
+ ];
27
+ }
28
+ }
29
+ export { StringCoercer };
@@ -0,0 +1,18 @@
1
+ function truncate(str, max = 0) {
2
+ if ('string' != typeof str || 0 === max) return str;
3
+ return str.length <= max ? str : `${str.slice(0, max)}...`;
4
+ }
5
+ function extractExceptionKeysForMessage(err, maxLength = 40) {
6
+ const keys = Object.keys(err);
7
+ keys.sort();
8
+ if (!keys.length) return '[object has no keys]';
9
+ for(let i = keys.length; i > 0; i--){
10
+ const serialized = keys.slice(0, i).join(', ');
11
+ if (!(serialized.length > maxLength)) {
12
+ if (i === keys.length) return serialized;
13
+ return serialized.length <= maxLength ? serialized : `${serialized.slice(0, maxLength)}...`;
14
+ }
15
+ }
16
+ return '';
17
+ }
18
+ export { extractExceptionKeysForMessage, truncate };
@@ -0,0 +1,112 @@
1
+ import { isArray } from "../utils/index.mjs";
2
+ import { getFilenameToChunkIdMap } from "./chunk-ids.mjs";
3
+ const MAX_CAUSE_RECURSION = 4;
4
+ class ErrorPropertiesBuilder {
5
+ constructor(coercers, stackParser, modifiers = []){
6
+ this.coercers = coercers;
7
+ this.stackParser = stackParser;
8
+ this.modifiers = modifiers;
9
+ }
10
+ buildFromUnknown(input, hint = {}) {
11
+ const providedMechanism = hint && hint.mechanism;
12
+ const mechanism = providedMechanism || {
13
+ handled: true,
14
+ type: 'generic'
15
+ };
16
+ const coercingContext = this.buildCoercingContext(mechanism, hint, 0);
17
+ const exceptionWithCause = coercingContext.apply(input);
18
+ const parsingContext = this.buildParsingContext(hint);
19
+ const exceptionWithStack = this.parseStacktrace(exceptionWithCause, parsingContext);
20
+ const exceptionList = this.convertToExceptionList(exceptionWithStack, mechanism);
21
+ return {
22
+ $exception_list: exceptionList,
23
+ $exception_level: 'error'
24
+ };
25
+ }
26
+ async modifyFrames(exceptionList) {
27
+ for (const exc of exceptionList)if (exc.stacktrace && exc.stacktrace.frames && isArray(exc.stacktrace.frames)) exc.stacktrace.frames = await this.applyModifiers(exc.stacktrace.frames);
28
+ return exceptionList;
29
+ }
30
+ coerceFallback(ctx) {
31
+ return {
32
+ type: 'Error',
33
+ value: 'Unknown error',
34
+ stack: ctx.syntheticException?.stack,
35
+ synthetic: true
36
+ };
37
+ }
38
+ parseStacktrace(err, ctx) {
39
+ let cause;
40
+ if (null != err.cause) cause = this.parseStacktrace(err.cause, ctx);
41
+ let stack;
42
+ if ('' != err.stack && null != err.stack) stack = this.applyChunkIds(this.stackParser(err.stack, err.synthetic ? ctx.skipFirstLines : 0), ctx.chunkIdMap);
43
+ return {
44
+ ...err,
45
+ cause,
46
+ stack
47
+ };
48
+ }
49
+ applyChunkIds(frames, chunkIdMap) {
50
+ return frames.map((frame)=>{
51
+ if (frame.filename && chunkIdMap) frame.chunk_id = chunkIdMap[frame.filename];
52
+ return frame;
53
+ });
54
+ }
55
+ applyCoercers(input, ctx) {
56
+ for (const adapter of this.coercers)if (adapter.match(input)) return adapter.coerce(input, ctx);
57
+ return this.coerceFallback(ctx);
58
+ }
59
+ async applyModifiers(frames) {
60
+ let newFrames = frames;
61
+ for (const modifier of this.modifiers)newFrames = await modifier(newFrames);
62
+ return newFrames;
63
+ }
64
+ convertToExceptionList(exceptionWithStack, mechanism) {
65
+ const currentException = {
66
+ type: exceptionWithStack.type,
67
+ value: exceptionWithStack.value,
68
+ mechanism: {
69
+ type: mechanism.type ?? 'generic',
70
+ handled: mechanism.handled ?? true,
71
+ synthetic: exceptionWithStack.synthetic ?? false
72
+ }
73
+ };
74
+ if (exceptionWithStack.stack) currentException.stacktrace = {
75
+ type: 'raw',
76
+ frames: exceptionWithStack.stack
77
+ };
78
+ const exceptionList = [
79
+ currentException
80
+ ];
81
+ if (null != exceptionWithStack.cause) exceptionList.push(...this.convertToExceptionList(exceptionWithStack.cause, {
82
+ ...mechanism,
83
+ handled: true
84
+ }));
85
+ return exceptionList;
86
+ }
87
+ buildParsingContext(hint) {
88
+ const context = {
89
+ chunkIdMap: getFilenameToChunkIdMap(this.stackParser),
90
+ skipFirstLines: hint.skipFirstLines ?? 1
91
+ };
92
+ return context;
93
+ }
94
+ buildCoercingContext(mechanism, hint, depth = 0) {
95
+ const coerce = (input, depth)=>{
96
+ if (!(depth <= MAX_CAUSE_RECURSION)) return;
97
+ {
98
+ const ctx = this.buildCoercingContext(mechanism, hint, depth);
99
+ return this.applyCoercers(input, ctx);
100
+ }
101
+ };
102
+ const context = {
103
+ ...hint,
104
+ syntheticException: 0 == depth ? hint.syntheticException : void 0,
105
+ mechanism,
106
+ apply: (input)=>coerce(input, depth),
107
+ next: (input)=>coerce(input, depth + 1)
108
+ };
109
+ return context;
110
+ }
111
+ }
112
+ export { ErrorPropertiesBuilder };
@@ -0,0 +1,4 @@
1
+ export * from "./error-properties-builder.mjs";
2
+ export * from "./parsers/index.mjs";
3
+ export * from "./coercers/index.mjs";
4
+ export * from "./utils.mjs";
@@ -0,0 +1,14 @@
1
+ import { isUndefined } from "../../utils/index.mjs";
2
+ const UNKNOWN_FUNCTION = '?';
3
+ function createFrame(platform, filename, func, lineno, colno) {
4
+ const frame = {
5
+ platform,
6
+ filename,
7
+ function: '<anonymous>' === func ? UNKNOWN_FUNCTION : func,
8
+ in_app: true
9
+ };
10
+ if (!isUndefined(lineno)) frame.lineno = lineno;
11
+ if (!isUndefined(colno)) frame.colno = colno;
12
+ return frame;
13
+ }
14
+ export { UNKNOWN_FUNCTION, createFrame };