@obsfx/trekker 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/package.json +1 -1
  2. package/webapp-dist/.next/BUILD_ID +1 -1
  3. package/webapp-dist/.next/build-manifest.json +2 -2
  4. package/webapp-dist/.next/prerender-manifest.json +3 -3
  5. package/webapp-dist/.next/server/app/_global-error.html +2 -2
  6. package/webapp-dist/.next/server/app/_global-error.rsc +1 -1
  7. package/webapp-dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/webapp-dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/webapp-dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/webapp-dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/webapp-dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/webapp-dist/.next/server/app/_not-found.html +2 -2
  13. package/webapp-dist/.next/server/app/_not-found.rsc +1 -1
  14. package/webapp-dist/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/webapp-dist/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/webapp-dist/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/webapp-dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/webapp-dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/webapp-dist/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/webapp-dist/.next/server/app/index.html +2 -2
  21. package/webapp-dist/.next/server/app/index.rsc +1 -1
  22. package/webapp-dist/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  23. package/webapp-dist/.next/server/app/index.segments/_full.segment.rsc +1 -1
  24. package/webapp-dist/.next/server/app/index.segments/_head.segment.rsc +1 -1
  25. package/webapp-dist/.next/server/app/index.segments/_index.segment.rsc +1 -1
  26. package/webapp-dist/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  27. package/webapp-dist/.next/server/pages/404.html +2 -2
  28. package/webapp-dist/.next/server/pages/500.html +2 -2
  29. package/webapp-dist/.next/server/server-reference-manifest.js +1 -1
  30. package/webapp-dist/.next/server/server-reference-manifest.json +1 -1
  31. package/webapp-dist/node_modules/@next/env/dist/index.js +1 -0
  32. package/webapp-dist/node_modules/@next/env/package.json +36 -0
  33. package/webapp-dist/node_modules/buffer-from/index.js +72 -0
  34. package/webapp-dist/node_modules/buffer-from/package.json +19 -0
  35. package/webapp-dist/node_modules/client-only/index.js +0 -0
  36. package/webapp-dist/node_modules/client-only/package.json +19 -0
  37. package/webapp-dist/node_modules/detect-libc/lib/detect-libc.js +313 -0
  38. package/webapp-dist/node_modules/detect-libc/lib/elf.js +39 -0
  39. package/webapp-dist/node_modules/detect-libc/lib/filesystem.js +51 -0
  40. package/webapp-dist/node_modules/detect-libc/lib/process.js +24 -0
  41. package/webapp-dist/node_modules/detect-libc/package.json +44 -0
  42. package/webapp-dist/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  43. package/webapp-dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +11 -0
  44. package/webapp-dist/node_modules/react/cjs/react.production.min.js +26 -0
  45. package/webapp-dist/node_modules/react/index.js +7 -0
  46. package/webapp-dist/node_modules/react/jsx-dev-runtime.js +7 -0
  47. package/webapp-dist/node_modules/react/jsx-runtime.js +7 -0
  48. package/webapp-dist/node_modules/react/package.json +47 -0
  49. package/webapp-dist/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +93 -0
  50. package/webapp-dist/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +101 -0
  51. package/webapp-dist/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +96 -0
  52. package/webapp-dist/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +102 -0
  53. package/webapp-dist/node_modules/react-dom/cjs/react-dom.production.min.js +322 -0
  54. package/webapp-dist/node_modules/react-dom/index.js +38 -0
  55. package/webapp-dist/node_modules/react-dom/package.json +62 -0
  56. package/webapp-dist/node_modules/react-dom/server.browser.js +17 -0
  57. package/webapp-dist/node_modules/react-dom/server.node.js +17 -0
  58. package/webapp-dist/node_modules/scheduler/cjs/scheduler.development.js +634 -0
  59. package/webapp-dist/node_modules/scheduler/cjs/scheduler.production.min.js +19 -0
  60. package/webapp-dist/node_modules/scheduler/index.js +7 -0
  61. package/webapp-dist/node_modules/scheduler/package.json +36 -0
  62. package/webapp-dist/node_modules/semver/classes/comparator.js +143 -0
  63. package/webapp-dist/node_modules/semver/classes/range.js +557 -0
  64. package/webapp-dist/node_modules/semver/classes/semver.js +333 -0
  65. package/webapp-dist/node_modules/semver/functions/cmp.js +54 -0
  66. package/webapp-dist/node_modules/semver/functions/coerce.js +62 -0
  67. package/webapp-dist/node_modules/semver/functions/compare.js +7 -0
  68. package/webapp-dist/node_modules/semver/functions/eq.js +5 -0
  69. package/webapp-dist/node_modules/semver/functions/gt.js +5 -0
  70. package/webapp-dist/node_modules/semver/functions/gte.js +5 -0
  71. package/webapp-dist/node_modules/semver/functions/lt.js +5 -0
  72. package/webapp-dist/node_modules/semver/functions/lte.js +5 -0
  73. package/webapp-dist/node_modules/semver/functions/neq.js +5 -0
  74. package/webapp-dist/node_modules/semver/functions/parse.js +18 -0
  75. package/webapp-dist/node_modules/semver/functions/satisfies.js +12 -0
  76. package/webapp-dist/node_modules/semver/internal/constants.js +37 -0
  77. package/webapp-dist/node_modules/semver/internal/debug.js +11 -0
  78. package/webapp-dist/node_modules/semver/internal/identifiers.js +29 -0
  79. package/webapp-dist/node_modules/semver/internal/lrucache.js +42 -0
  80. package/webapp-dist/node_modules/semver/internal/parse-options.js +17 -0
  81. package/webapp-dist/node_modules/semver/internal/re.js +223 -0
  82. package/webapp-dist/node_modules/semver/package.json +78 -0
  83. package/webapp-dist/node_modules/sharp/lib/channel.js +177 -0
  84. package/webapp-dist/node_modules/sharp/lib/colour.js +195 -0
  85. package/webapp-dist/node_modules/sharp/lib/composite.js +212 -0
  86. package/webapp-dist/node_modules/sharp/lib/constructor.js +499 -0
  87. package/webapp-dist/node_modules/sharp/lib/index.js +16 -0
  88. package/webapp-dist/node_modules/sharp/lib/input.js +809 -0
  89. package/webapp-dist/node_modules/sharp/lib/is.js +143 -0
  90. package/webapp-dist/node_modules/sharp/lib/libvips.js +207 -0
  91. package/webapp-dist/node_modules/sharp/lib/operation.js +1016 -0
  92. package/webapp-dist/node_modules/sharp/lib/output.js +1666 -0
  93. package/webapp-dist/node_modules/sharp/lib/resize.js +595 -0
  94. package/webapp-dist/node_modules/sharp/lib/sharp.js +121 -0
  95. package/webapp-dist/node_modules/sharp/lib/utility.js +291 -0
  96. package/webapp-dist/node_modules/sharp/package.json +202 -0
  97. package/webapp-dist/node_modules/source-map/lib/array-set.js +121 -0
  98. package/webapp-dist/node_modules/source-map/lib/base64-vlq.js +140 -0
  99. package/webapp-dist/node_modules/source-map/lib/base64.js +67 -0
  100. package/webapp-dist/node_modules/source-map/lib/binary-search.js +111 -0
  101. package/webapp-dist/node_modules/source-map/lib/mapping-list.js +79 -0
  102. package/webapp-dist/node_modules/source-map/lib/quick-sort.js +114 -0
  103. package/webapp-dist/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  104. package/webapp-dist/node_modules/source-map/lib/source-map-generator.js +425 -0
  105. package/webapp-dist/node_modules/source-map/lib/source-node.js +413 -0
  106. package/webapp-dist/node_modules/source-map/lib/util.js +488 -0
  107. package/webapp-dist/node_modules/source-map/package.json +73 -0
  108. package/webapp-dist/node_modules/source-map/source-map.js +8 -0
  109. package/webapp-dist/node_modules/source-map-support/LICENSE.md +21 -0
  110. package/webapp-dist/node_modules/source-map-support/README.md +284 -0
  111. package/webapp-dist/node_modules/source-map-support/browser-source-map-support.js +114 -0
  112. package/webapp-dist/node_modules/source-map-support/package.json +31 -0
  113. package/webapp-dist/node_modules/source-map-support/register-hook-require.js +1 -0
  114. package/webapp-dist/node_modules/source-map-support/register.js +1 -0
  115. package/webapp-dist/node_modules/source-map-support/source-map-support.js +625 -0
  116. package/webapp-dist/node_modules/styled-jsx/dist/index/index.js +499 -0
  117. package/webapp-dist/node_modules/styled-jsx/index.js +1 -0
  118. package/webapp-dist/node_modules/styled-jsx/package.json +132 -0
  119. package/webapp-dist/node_modules/styled-jsx/style.js +1 -0
  120. package/webapp-dist/node_modules/typescript/lib/_tsc.js +133818 -0
  121. package/webapp-dist/node_modules/typescript/lib/_tsserver.js +659 -0
  122. package/webapp-dist/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  123. package/webapp-dist/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  124. package/webapp-dist/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  125. package/webapp-dist/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  126. package/webapp-dist/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  127. package/webapp-dist/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  128. package/webapp-dist/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  129. package/webapp-dist/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  130. package/webapp-dist/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  131. package/webapp-dist/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  132. package/webapp-dist/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  133. package/webapp-dist/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  134. package/webapp-dist/node_modules/typescript/lib/tsc.js +8 -0
  135. package/webapp-dist/node_modules/typescript/lib/tsserver.js +8 -0
  136. package/webapp-dist/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  137. package/webapp-dist/node_modules/typescript/lib/typesMap.json +497 -0
  138. package/webapp-dist/node_modules/typescript/lib/typescript.js +200276 -0
  139. package/webapp-dist/node_modules/typescript/lib/typingsInstaller.js +8 -0
  140. package/webapp-dist/node_modules/typescript/lib/watchGuard.js +53 -0
  141. package/webapp-dist/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
  142. package/webapp-dist/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
  143. package/webapp-dist/node_modules/typescript/package.json +120 -0
  144. /package/webapp-dist/.next/static/{CBqL8_eR5V0p4TChjPNMj → 6d9vQZJNWnbBaVrpBo9kx}/_buildManifest.js +0 -0
  145. /package/webapp-dist/.next/static/{CBqL8_eR5V0p4TChjPNMj → 6d9vQZJNWnbBaVrpBo9kx}/_clientMiddlewareManifest.json +0 -0
  146. /package/webapp-dist/.next/static/{CBqL8_eR5V0p4TChjPNMj → 6d9vQZJNWnbBaVrpBo9kx}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
1
  :HL["/_next/static/chunks/a3a48138431e69f2.css","style"]
2
- 0:{"buildId":"CBqL8_eR5V0p4TChjPNMj","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
2
+ 0:{"buildId":"6d9vQZJNWnbBaVrpBo9kx","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><!--CBqL8_eR5V0p4TChjPNMj--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/a3a48138431e69f2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5e0be427f68f6080.js"/><script src="/_next/static/chunks/3036933cb9bf38e3.js" async=""></script><script src="/_next/static/chunks/c1589cab6fb15b0d.js" async=""></script><script src="/_next/static/chunks/turbopack-d39d36eb8f918d5a.js" async=""></script><script src="/_next/static/chunks/f87dc668b9e005e0.js" async=""></script><script src="/_next/static/chunks/de03c42fd52463c2.js" async=""></script><script src="/_next/static/chunks/6aa9c115948055d1.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Trekker</title><meta name="description" content="Issue tracker for AI coding agents"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="min-h-screen bg-background font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a, b, c, d, e, f, g, h) => {
1
+ <!DOCTYPE html><!--6d9vQZJNWnbBaVrpBo9kx--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/a3a48138431e69f2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5e0be427f68f6080.js"/><script src="/_next/static/chunks/3036933cb9bf38e3.js" async=""></script><script src="/_next/static/chunks/c1589cab6fb15b0d.js" async=""></script><script src="/_next/static/chunks/turbopack-d39d36eb8f918d5a.js" async=""></script><script src="/_next/static/chunks/f87dc668b9e005e0.js" async=""></script><script src="/_next/static/chunks/de03c42fd52463c2.js" async=""></script><script src="/_next/static/chunks/6aa9c115948055d1.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Trekker</title><meta name="description" content="Issue tracker for AI coding agents"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="min-h-screen bg-background font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a, b, c, d, e, f, g, h) => {
2
2
  let i = document.documentElement, j = ["light", "dark"];
3
3
  function k(b) {
4
4
  var c;
@@ -14,4 +14,4 @@
14
14
  let a = localStorage.getItem(b) || c, d = g && a === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : a;
15
15
  k(d);
16
16
  } catch (a) {}
17
- })("class","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/5e0be427f68f6080.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30666,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"Providers\"]\n3:I[30305,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n4:I[87501,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n5:I[28614,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[28614,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"ViewportBoundary\"]\na:I[28614,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"MetadataBoundary\"]\nc:I[68334,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n:HL[\"/_next/static/chunks/a3a48138431e69f2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"CBqL8_eR5V0p4TChjPNMj\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/a3a48138431e69f2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/f87dc668b9e005e0.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/de03c42fd52463c2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/6aa9c115948055d1.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Trekker\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Issue tracker for AI coding agents\"}]]\n"])</script></body></html>
17
+ })("class","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/5e0be427f68f6080.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30666,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"Providers\"]\n3:I[30305,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n4:I[87501,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n5:I[28614,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[28614,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"ViewportBoundary\"]\na:I[28614,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"MetadataBoundary\"]\nc:I[68334,[\"/_next/static/chunks/f87dc668b9e005e0.js\",\"/_next/static/chunks/de03c42fd52463c2.js\",\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n:HL[\"/_next/static/chunks/a3a48138431e69f2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"6d9vQZJNWnbBaVrpBo9kx\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/a3a48138431e69f2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/f87dc668b9e005e0.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/de03c42fd52463c2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/6aa9c115948055d1.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Trekker\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Issue tracker for AI coding agents\"}]]\n"])</script></body></html>
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--CBqL8_eR5V0p4TChjPNMj--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5e0be427f68f6080.js"/><script src="/_next/static/chunks/3036933cb9bf38e3.js" async=""></script><script src="/_next/static/chunks/c1589cab6fb15b0d.js" async=""></script><script src="/_next/static/chunks/turbopack-d39d36eb8f918d5a.js" async=""></script><script src="/_next/static/chunks/6aa9c115948055d1.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/5e0be427f68f6080.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30305,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n3:I[87501,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n4:I[28614,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[28614,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"ViewportBoundary\"]\n9:I[28614,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"MetadataBoundary\"]\nb:I[68334,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"CBqL8_eR5V0p4TChjPNMj\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/6aa9c115948055d1.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--6d9vQZJNWnbBaVrpBo9kx--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/5e0be427f68f6080.js"/><script src="/_next/static/chunks/3036933cb9bf38e3.js" async=""></script><script src="/_next/static/chunks/c1589cab6fb15b0d.js" async=""></script><script src="/_next/static/chunks/turbopack-d39d36eb8f918d5a.js" async=""></script><script src="/_next/static/chunks/6aa9c115948055d1.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/5e0be427f68f6080.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30305,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n3:I[87501,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n4:I[28614,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[28614,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"ViewportBoundary\"]\n9:I[28614,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"MetadataBoundary\"]\nb:I[68334,[\"/_next/static/chunks/6aa9c115948055d1.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"6d9vQZJNWnbBaVrpBo9kx\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/6aa9c115948055d1.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"88vSg+vP5ilp2Ky5cD4zpTbNebUNzPI+VH1jO4DrMEc=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"pg5JTFqACngZkU/IdMgsOyig0j9prrkpdZh0VRx5z9M=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "88vSg+vP5ilp2Ky5cD4zpTbNebUNzPI+VH1jO4DrMEc="
4
+ "encryptionKey": "pg5JTFqACngZkU/IdMgsOyig0j9prrkpdZh0VRx5z9M="
5
5
  }
@@ -0,0 +1 @@
1
+ (()=>{var e={383:e=>{"use strict";function _searchLast(e,t){const n=Array.from(e.matchAll(t));return n.length>0?n.slice(-1)[0].index:-1}function _interpolate(e,t,n){const r=_searchLast(e,/(?!(?<=\\))\$/g);if(r===-1)return e;const o=e.slice(r);const s=/((?!(?<=\\))\${?([\w]+)(?::-([^}\\]*))?}?)/;const i=o.match(s);if(i!=null){const[,r,o,s]=i;return _interpolate(e.replace(r,t[o]||s||n.parsed[o]||""),t,n)}return e}function _resolveEscapeSequences(e){return e.replace(/\\\$/g,"$")}function expand(e){const t=e.ignoreProcessEnv?{}:process.env;for(const n in e.parsed){const r=Object.prototype.hasOwnProperty.call(t,n)?t[n]:e.parsed[n];e.parsed[n]=_resolveEscapeSequences(_interpolate(r,t,e))}for(const n in e.parsed){t[n]=e.parsed[n]}return e}e.exports.j=expand},234:(e,t,n)=>{const r=n(147);const o=n(17);const s=n(37);const i=n(113);const c=n(803);const a=c.version;const p=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function parse(e){const t={};let n=e.toString();n=n.replace(/\r\n?/gm,"\n");let r;while((r=p.exec(n))!=null){const e=r[1];let n=r[2]||"";n=n.trim();const o=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/gm,"$2");if(o==='"'){n=n.replace(/\\n/g,"\n");n=n.replace(/\\r/g,"\r")}t[e]=n}return t}function _parseVault(e){const t=_vaultPath(e);const n=l.configDotenv({path:t});if(!n.parsed){throw new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`)}const r=_dotenvKey(e).split(",");const o=r.length;let s;for(let e=0;e<o;e++){try{const t=r[e].trim();const o=_instructions(n,t);s=l.decrypt(o.ciphertext,o.key);break}catch(t){if(e+1>=o){throw t}}}return l.parse(s)}function _log(e){console.log(`[dotenv@${a}][INFO] ${e}`)}function _warn(e){console.log(`[dotenv@${a}][WARN] ${e}`)}function _debug(e){console.log(`[dotenv@${a}][DEBUG] ${e}`)}function _dotenvKey(e){if(e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0){return e.DOTENV_KEY}if(process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0){return process.env.DOTENV_KEY}return""}function _instructions(e,t){let n;try{n=new URL(t)}catch(e){if(e.code==="ERR_INVALID_URL"){throw new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development")}throw e}const r=n.password;if(!r){throw new Error("INVALID_DOTENV_KEY: Missing key part")}const o=n.searchParams.get("environment");if(!o){throw new Error("INVALID_DOTENV_KEY: Missing environment part")}const s=`DOTENV_VAULT_${o.toUpperCase()}`;const i=e.parsed[s];if(!i){throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${s} in your .env.vault file.`)}return{ciphertext:i,key:r}}function _vaultPath(e){let t=o.resolve(process.cwd(),".env");if(e&&e.path&&e.path.length>0){t=e.path}return t.endsWith(".vault")?t:`${t}.vault`}function _resolveHome(e){return e[0]==="~"?o.join(s.homedir(),e.slice(1)):e}function _configVault(e){_log("Loading env from encrypted .env.vault");const t=l._parseVault(e);let n=process.env;if(e&&e.processEnv!=null){n=e.processEnv}l.populate(n,t,e);return{parsed:t}}function configDotenv(e){let t=o.resolve(process.cwd(),".env");let n="utf8";const s=Boolean(e&&e.debug);if(e){if(e.path!=null){t=_resolveHome(e.path)}if(e.encoding!=null){n=e.encoding}}try{const o=l.parse(r.readFileSync(t,{encoding:n}));let s=process.env;if(e&&e.processEnv!=null){s=e.processEnv}l.populate(s,o,e);return{parsed:o}}catch(e){if(s){_debug(`Failed to load ${t} ${e.message}`)}return{error:e}}}function config(e){const t=_vaultPath(e);if(_dotenvKey(e).length===0){return l.configDotenv(e)}if(!r.existsSync(t)){_warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`);return l.configDotenv(e)}return l._configVault(e)}function decrypt(e,t){const n=Buffer.from(t.slice(-64),"hex");let r=Buffer.from(e,"base64");const o=r.slice(0,12);const s=r.slice(-16);r=r.slice(12,-16);try{const e=i.createDecipheriv("aes-256-gcm",n,o);e.setAuthTag(s);return`${e.update(r)}${e.final()}`}catch(e){const t=e instanceof RangeError;const n=e.message==="Invalid key length";const r=e.message==="Unsupported state or unable to authenticate data";if(t||n){const e="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(e)}else if(r){const e="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(e)}else{console.error("Error: ",e.code);console.error("Error: ",e.message);throw e}}}function populate(e,t,n={}){const r=Boolean(n&&n.debug);const o=Boolean(n&&n.override);if(typeof t!=="object"){throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate")}for(const n of Object.keys(t)){if(Object.prototype.hasOwnProperty.call(e,n)){if(o===true){e[n]=t[n]}if(r){if(o===true){_debug(`"${n}" is already defined and WAS overwritten`)}else{_debug(`"${n}" is already defined and was NOT overwritten`)}}}else{e[n]=t[n]}}}const l={configDotenv:configDotenv,_configVault:_configVault,_parseVault:_parseVault,config:config,decrypt:decrypt,parse:parse,populate:populate};e.exports.configDotenv=l.configDotenv;e.exports._configVault=l._configVault;e.exports._parseVault=l._parseVault;e.exports.config=l.config;e.exports.decrypt=l.decrypt;e.exports.parse=l.parse;e.exports.populate=l.populate;e.exports=l},113:e=>{"use strict";e.exports=require("crypto")},147:e=>{"use strict";e.exports=require("fs")},37:e=>{"use strict";e.exports=require("os")},17:e=>{"use strict";e.exports=require("path")},803:e=>{"use strict";e.exports=JSON.parse('{"name":"dotenv","version":"16.3.1","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","lint-readme":"standard-markdown","pretest":"npm run lint && npm run dts-check","test":"tap tests/*.js --100 -Rspec","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"funding":"https://github.com/motdotla/dotenv?sponsor=1","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3","decache":"^4.6.1","sinon":"^14.0.1","standard":"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0","tap":"^16.3.0","tar":"^6.1.11","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')}};var t={};function __nccwpck_require__(n){var r=t[n];if(r!==undefined){return r.exports}var o=t[n]={exports:{}};var s=true;try{e[n](o,o.exports,__nccwpck_require__);s=false}finally{if(s)delete t[n]}return o.exports}(()=>{__nccwpck_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;__nccwpck_require__.d(t,{a:t});return t}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var n in t){if(__nccwpck_require__.o(t,n)&&!__nccwpck_require__.o(e,n)){Object.defineProperty(e,n,{enumerable:true,get:t[n]})}}}})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var n={};(()=>{"use strict";__nccwpck_require__.r(n);__nccwpck_require__.d(n,{initialEnv:()=>a,updateInitialEnv:()=>updateInitialEnv,processEnv:()=>processEnv,resetEnv:()=>resetEnv,loadEnvConfig:()=>loadEnvConfig});var e=__nccwpck_require__(147);var t=__nccwpck_require__.n(e);var r=__nccwpck_require__(17);var o=__nccwpck_require__.n(r);var s=__nccwpck_require__(234);var i=__nccwpck_require__.n(s);var c=__nccwpck_require__(383);let a=undefined;let p=undefined;let l=undefined;let u=[];let _=[];function updateInitialEnv(e){Object.assign(a||{},e)}function replaceProcessEnv(e){Object.keys(process.env).forEach((t=>{if(!t.startsWith("__NEXT_PRIVATE")){if(e[t]===undefined||e[t]===""){delete process.env[t]}}}));Object.entries(e).forEach((([e,t])=>{process.env[e]=t}))}function processEnv(e,t,n=console,o=false,i){var p;if(!a){a=Object.assign({},process.env)}if(!o&&(process.env.__NEXT_PROCESSED_ENV||e.length===0)){return[process.env]}process.env.__NEXT_PROCESSED_ENV="true";const l=Object.assign({},a);const u={};for(const o of e){try{let e={};e.parsed=s.parse(o.contents);e=(0,c.j)(e);if(e.parsed&&!_.some((e=>e.contents===o.contents&&e.path===o.path))){i===null||i===void 0?void 0:i(o.path)}for(const t of Object.keys(e.parsed||{})){if(typeof u[t]==="undefined"&&typeof l[t]==="undefined"){u[t]=(p=e.parsed)===null||p===void 0?void 0:p[t]}}o.env=e.parsed||{}}catch(e){n.error(`Failed to load env from ${r.join(t||"",o.path)}`,e)}}return[Object.assign(process.env,u),u]}function resetEnv(){if(a){replaceProcessEnv(a)}}function loadEnvConfig(t,n,o=console,s=false,i){if(!a){a=Object.assign({},process.env)}if(p&&!s){return{combinedEnv:p,parsedEnv:l,loadedEnvFiles:u}}replaceProcessEnv(a);_=u;u=[];const c=process.env.NODE_ENV==="test";const d=c?"test":n?"development":"production";const f=[`.env.${d}.local`,d!=="test"&&`.env.local`,`.env.${d}`,".env"].filter(Boolean);for(const n of f){const s=r.join(t,n);try{const t=e.statSync(s);if(!t.isFile()&&!t.isFIFO()){continue}const r=e.readFileSync(s,"utf8");u.push({path:n,contents:r,env:{}})}catch(e){if(e.code!=="ENOENT"){o.error(`Failed to load env from ${n}`,e)}}}[p,l]=processEnv(u,t,o,s,i);return{combinedEnv:p,parsedEnv:l,loadedEnvFiles:u}}})();module.exports=n})();
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@next/env",
3
+ "version": "16.1.4",
4
+ "keywords": [
5
+ "react",
6
+ "next",
7
+ "next.js",
8
+ "dotenv"
9
+ ],
10
+ "description": "Next.js dotenv file loading",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/vercel/next.js",
14
+ "directory": "packages/next-env"
15
+ },
16
+ "author": "Next.js Team <support@vercel.com>",
17
+ "license": "MIT",
18
+ "main": "dist/index.js",
19
+ "types": "dist/index.d.ts",
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "scripts": {
24
+ "dev": "ncc build ./index.ts -w -o dist/",
25
+ "prebuild:source": "node ../../scripts/rm.mjs dist",
26
+ "types": "tsc --declaration --emitDeclarationOnly --declarationDir dist",
27
+ "build:source": "ncc build ./index.ts -o ./dist/ --minify --no-cache --no-source-map-register",
28
+ "build": "pnpm build:source && pnpm types",
29
+ "prepublishOnly": "cd ../../ && turbo run build"
30
+ },
31
+ "devDependencies": {
32
+ "@vercel/ncc": "0.34.0",
33
+ "dotenv": "16.3.1",
34
+ "dotenv-expand": "10.0.0"
35
+ }
36
+ }
@@ -0,0 +1,72 @@
1
+ /* eslint-disable node/no-deprecated-api */
2
+
3
+ var toString = Object.prototype.toString
4
+
5
+ var isModern = (
6
+ typeof Buffer !== 'undefined' &&
7
+ typeof Buffer.alloc === 'function' &&
8
+ typeof Buffer.allocUnsafe === 'function' &&
9
+ typeof Buffer.from === 'function'
10
+ )
11
+
12
+ function isArrayBuffer (input) {
13
+ return toString.call(input).slice(8, -1) === 'ArrayBuffer'
14
+ }
15
+
16
+ function fromArrayBuffer (obj, byteOffset, length) {
17
+ byteOffset >>>= 0
18
+
19
+ var maxLength = obj.byteLength - byteOffset
20
+
21
+ if (maxLength < 0) {
22
+ throw new RangeError("'offset' is out of bounds")
23
+ }
24
+
25
+ if (length === undefined) {
26
+ length = maxLength
27
+ } else {
28
+ length >>>= 0
29
+
30
+ if (length > maxLength) {
31
+ throw new RangeError("'length' is out of bounds")
32
+ }
33
+ }
34
+
35
+ return isModern
36
+ ? Buffer.from(obj.slice(byteOffset, byteOffset + length))
37
+ : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length)))
38
+ }
39
+
40
+ function fromString (string, encoding) {
41
+ if (typeof encoding !== 'string' || encoding === '') {
42
+ encoding = 'utf8'
43
+ }
44
+
45
+ if (!Buffer.isEncoding(encoding)) {
46
+ throw new TypeError('"encoding" must be a valid string encoding')
47
+ }
48
+
49
+ return isModern
50
+ ? Buffer.from(string, encoding)
51
+ : new Buffer(string, encoding)
52
+ }
53
+
54
+ function bufferFrom (value, encodingOrOffset, length) {
55
+ if (typeof value === 'number') {
56
+ throw new TypeError('"value" argument must not be a number')
57
+ }
58
+
59
+ if (isArrayBuffer(value)) {
60
+ return fromArrayBuffer(value, encodingOrOffset, length)
61
+ }
62
+
63
+ if (typeof value === 'string') {
64
+ return fromString(value, encodingOrOffset)
65
+ }
66
+
67
+ return isModern
68
+ ? Buffer.from(value)
69
+ : new Buffer(value)
70
+ }
71
+
72
+ module.exports = bufferFrom
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "buffer-from",
3
+ "version": "1.1.2",
4
+ "license": "MIT",
5
+ "repository": "LinusU/buffer-from",
6
+ "files": [
7
+ "index.js"
8
+ ],
9
+ "scripts": {
10
+ "test": "standard && node test"
11
+ },
12
+ "devDependencies": {
13
+ "standard": "^12.0.1"
14
+ },
15
+ "keywords": [
16
+ "buffer",
17
+ "buffer from"
18
+ ]
19
+ }
File without changes
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "client-only",
3
+ "description": "This is a marker package to indicate that a module can only be used in Client Components.",
4
+ "keywords": [
5
+ "react"
6
+ ],
7
+ "version": "0.0.1",
8
+ "homepage": "https://reactjs.org/",
9
+ "bugs": "https://github.com/facebook/react/issues",
10
+ "license": "MIT",
11
+ "files": ["index.js", "error.js"],
12
+ "main": "index.js",
13
+ "exports": {
14
+ ".": {
15
+ "react-server": "./error.js",
16
+ "default": "./index.js"
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,313 @@
1
+ // Copyright 2017 Lovell Fuller and others.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ 'use strict';
5
+
6
+ const childProcess = require('child_process');
7
+ const { isLinux, getReport } = require('./process');
8
+ const { LDD_PATH, SELF_PATH, readFile, readFileSync } = require('./filesystem');
9
+ const { interpreterPath } = require('./elf');
10
+
11
+ let cachedFamilyInterpreter;
12
+ let cachedFamilyFilesystem;
13
+ let cachedVersionFilesystem;
14
+
15
+ const command = 'getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true';
16
+ let commandOut = '';
17
+
18
+ const safeCommand = () => {
19
+ if (!commandOut) {
20
+ return new Promise((resolve) => {
21
+ childProcess.exec(command, (err, out) => {
22
+ commandOut = err ? ' ' : out;
23
+ resolve(commandOut);
24
+ });
25
+ });
26
+ }
27
+ return commandOut;
28
+ };
29
+
30
+ const safeCommandSync = () => {
31
+ if (!commandOut) {
32
+ try {
33
+ commandOut = childProcess.execSync(command, { encoding: 'utf8' });
34
+ } catch (_err) {
35
+ commandOut = ' ';
36
+ }
37
+ }
38
+ return commandOut;
39
+ };
40
+
41
+ /**
42
+ * A String constant containing the value `glibc`.
43
+ * @type {string}
44
+ * @public
45
+ */
46
+ const GLIBC = 'glibc';
47
+
48
+ /**
49
+ * A Regexp constant to get the GLIBC Version.
50
+ * @type {string}
51
+ */
52
+ const RE_GLIBC_VERSION = /LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i;
53
+
54
+ /**
55
+ * A String constant containing the value `musl`.
56
+ * @type {string}
57
+ * @public
58
+ */
59
+ const MUSL = 'musl';
60
+
61
+ const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-');
62
+
63
+ const familyFromReport = () => {
64
+ const report = getReport();
65
+ if (report.header && report.header.glibcVersionRuntime) {
66
+ return GLIBC;
67
+ }
68
+ if (Array.isArray(report.sharedObjects)) {
69
+ if (report.sharedObjects.some(isFileMusl)) {
70
+ return MUSL;
71
+ }
72
+ }
73
+ return null;
74
+ };
75
+
76
+ const familyFromCommand = (out) => {
77
+ const [getconf, ldd1] = out.split(/[\r\n]+/);
78
+ if (getconf && getconf.includes(GLIBC)) {
79
+ return GLIBC;
80
+ }
81
+ if (ldd1 && ldd1.includes(MUSL)) {
82
+ return MUSL;
83
+ }
84
+ return null;
85
+ };
86
+
87
+ const familyFromInterpreterPath = (path) => {
88
+ if (path) {
89
+ if (path.includes('/ld-musl-')) {
90
+ return MUSL;
91
+ } else if (path.includes('/ld-linux-')) {
92
+ return GLIBC;
93
+ }
94
+ }
95
+ return null;
96
+ };
97
+
98
+ const getFamilyFromLddContent = (content) => {
99
+ content = content.toString();
100
+ if (content.includes('musl')) {
101
+ return MUSL;
102
+ }
103
+ if (content.includes('GNU C Library')) {
104
+ return GLIBC;
105
+ }
106
+ return null;
107
+ };
108
+
109
+ const familyFromFilesystem = async () => {
110
+ if (cachedFamilyFilesystem !== undefined) {
111
+ return cachedFamilyFilesystem;
112
+ }
113
+ cachedFamilyFilesystem = null;
114
+ try {
115
+ const lddContent = await readFile(LDD_PATH);
116
+ cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
117
+ } catch (e) {}
118
+ return cachedFamilyFilesystem;
119
+ };
120
+
121
+ const familyFromFilesystemSync = () => {
122
+ if (cachedFamilyFilesystem !== undefined) {
123
+ return cachedFamilyFilesystem;
124
+ }
125
+ cachedFamilyFilesystem = null;
126
+ try {
127
+ const lddContent = readFileSync(LDD_PATH);
128
+ cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
129
+ } catch (e) {}
130
+ return cachedFamilyFilesystem;
131
+ };
132
+
133
+ const familyFromInterpreter = async () => {
134
+ if (cachedFamilyInterpreter !== undefined) {
135
+ return cachedFamilyInterpreter;
136
+ }
137
+ cachedFamilyInterpreter = null;
138
+ try {
139
+ const selfContent = await readFile(SELF_PATH);
140
+ const path = interpreterPath(selfContent);
141
+ cachedFamilyInterpreter = familyFromInterpreterPath(path);
142
+ } catch (e) {}
143
+ return cachedFamilyInterpreter;
144
+ };
145
+
146
+ const familyFromInterpreterSync = () => {
147
+ if (cachedFamilyInterpreter !== undefined) {
148
+ return cachedFamilyInterpreter;
149
+ }
150
+ cachedFamilyInterpreter = null;
151
+ try {
152
+ const selfContent = readFileSync(SELF_PATH);
153
+ const path = interpreterPath(selfContent);
154
+ cachedFamilyInterpreter = familyFromInterpreterPath(path);
155
+ } catch (e) {}
156
+ return cachedFamilyInterpreter;
157
+ };
158
+
159
+ /**
160
+ * Resolves with the libc family when it can be determined, `null` otherwise.
161
+ * @returns {Promise<?string>}
162
+ */
163
+ const family = async () => {
164
+ let family = null;
165
+ if (isLinux()) {
166
+ family = await familyFromInterpreter();
167
+ if (!family) {
168
+ family = await familyFromFilesystem();
169
+ if (!family) {
170
+ family = familyFromReport();
171
+ }
172
+ if (!family) {
173
+ const out = await safeCommand();
174
+ family = familyFromCommand(out);
175
+ }
176
+ }
177
+ }
178
+ return family;
179
+ };
180
+
181
+ /**
182
+ * Returns the libc family when it can be determined, `null` otherwise.
183
+ * @returns {?string}
184
+ */
185
+ const familySync = () => {
186
+ let family = null;
187
+ if (isLinux()) {
188
+ family = familyFromInterpreterSync();
189
+ if (!family) {
190
+ family = familyFromFilesystemSync();
191
+ if (!family) {
192
+ family = familyFromReport();
193
+ }
194
+ if (!family) {
195
+ const out = safeCommandSync();
196
+ family = familyFromCommand(out);
197
+ }
198
+ }
199
+ }
200
+ return family;
201
+ };
202
+
203
+ /**
204
+ * Resolves `true` only when the platform is Linux and the libc family is not `glibc`.
205
+ * @returns {Promise<boolean>}
206
+ */
207
+ const isNonGlibcLinux = async () => isLinux() && await family() !== GLIBC;
208
+
209
+ /**
210
+ * Returns `true` only when the platform is Linux and the libc family is not `glibc`.
211
+ * @returns {boolean}
212
+ */
213
+ const isNonGlibcLinuxSync = () => isLinux() && familySync() !== GLIBC;
214
+
215
+ const versionFromFilesystem = async () => {
216
+ if (cachedVersionFilesystem !== undefined) {
217
+ return cachedVersionFilesystem;
218
+ }
219
+ cachedVersionFilesystem = null;
220
+ try {
221
+ const lddContent = await readFile(LDD_PATH);
222
+ const versionMatch = lddContent.match(RE_GLIBC_VERSION);
223
+ if (versionMatch) {
224
+ cachedVersionFilesystem = versionMatch[1];
225
+ }
226
+ } catch (e) {}
227
+ return cachedVersionFilesystem;
228
+ };
229
+
230
+ const versionFromFilesystemSync = () => {
231
+ if (cachedVersionFilesystem !== undefined) {
232
+ return cachedVersionFilesystem;
233
+ }
234
+ cachedVersionFilesystem = null;
235
+ try {
236
+ const lddContent = readFileSync(LDD_PATH);
237
+ const versionMatch = lddContent.match(RE_GLIBC_VERSION);
238
+ if (versionMatch) {
239
+ cachedVersionFilesystem = versionMatch[1];
240
+ }
241
+ } catch (e) {}
242
+ return cachedVersionFilesystem;
243
+ };
244
+
245
+ const versionFromReport = () => {
246
+ const report = getReport();
247
+ if (report.header && report.header.glibcVersionRuntime) {
248
+ return report.header.glibcVersionRuntime;
249
+ }
250
+ return null;
251
+ };
252
+
253
+ const versionSuffix = (s) => s.trim().split(/\s+/)[1];
254
+
255
+ const versionFromCommand = (out) => {
256
+ const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
257
+ if (getconf && getconf.includes(GLIBC)) {
258
+ return versionSuffix(getconf);
259
+ }
260
+ if (ldd1 && ldd2 && ldd1.includes(MUSL)) {
261
+ return versionSuffix(ldd2);
262
+ }
263
+ return null;
264
+ };
265
+
266
+ /**
267
+ * Resolves with the libc version when it can be determined, `null` otherwise.
268
+ * @returns {Promise<?string>}
269
+ */
270
+ const version = async () => {
271
+ let version = null;
272
+ if (isLinux()) {
273
+ version = await versionFromFilesystem();
274
+ if (!version) {
275
+ version = versionFromReport();
276
+ }
277
+ if (!version) {
278
+ const out = await safeCommand();
279
+ version = versionFromCommand(out);
280
+ }
281
+ }
282
+ return version;
283
+ };
284
+
285
+ /**
286
+ * Returns the libc version when it can be determined, `null` otherwise.
287
+ * @returns {?string}
288
+ */
289
+ const versionSync = () => {
290
+ let version = null;
291
+ if (isLinux()) {
292
+ version = versionFromFilesystemSync();
293
+ if (!version) {
294
+ version = versionFromReport();
295
+ }
296
+ if (!version) {
297
+ const out = safeCommandSync();
298
+ version = versionFromCommand(out);
299
+ }
300
+ }
301
+ return version;
302
+ };
303
+
304
+ module.exports = {
305
+ GLIBC,
306
+ MUSL,
307
+ family,
308
+ familySync,
309
+ isNonGlibcLinux,
310
+ isNonGlibcLinuxSync,
311
+ version,
312
+ versionSync
313
+ };
@@ -0,0 +1,39 @@
1
+ // Copyright 2017 Lovell Fuller and others.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ 'use strict';
5
+
6
+ const interpreterPath = (elf) => {
7
+ if (elf.length < 64) {
8
+ return null;
9
+ }
10
+ if (elf.readUInt32BE(0) !== 0x7F454C46) {
11
+ // Unexpected magic bytes
12
+ return null;
13
+ }
14
+ if (elf.readUInt8(4) !== 2) {
15
+ // Not a 64-bit ELF
16
+ return null;
17
+ }
18
+ if (elf.readUInt8(5) !== 1) {
19
+ // Not little-endian
20
+ return null;
21
+ }
22
+ const offset = elf.readUInt32LE(32);
23
+ const size = elf.readUInt16LE(54);
24
+ const count = elf.readUInt16LE(56);
25
+ for (let i = 0; i < count; i++) {
26
+ const headerOffset = offset + (i * size);
27
+ const type = elf.readUInt32LE(headerOffset);
28
+ if (type === 3) {
29
+ const fileOffset = elf.readUInt32LE(headerOffset + 8);
30
+ const fileSize = elf.readUInt32LE(headerOffset + 32);
31
+ return elf.subarray(fileOffset, fileOffset + fileSize).toString().replace(/\0.*$/g, '');
32
+ }
33
+ }
34
+ return null;
35
+ };
36
+
37
+ module.exports = {
38
+ interpreterPath
39
+ };