beads-map 0.2.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +3 -3
  3. package/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/next-minimal-server.js.nft.json +1 -1
  6. package/.next/next-server.js.nft.json +1 -1
  7. package/.next/prerender-manifest.json +1 -1
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_not-found.html +1 -1
  10. package/.next/server/app/_not-found.rsc +1 -1
  11. package/.next/server/app/api/beads/route.js +2 -2
  12. package/.next/server/app/api/beads/stream/route.js +3 -3
  13. package/.next/server/app/api/beads.body +1 -1
  14. package/.next/server/app/index.html +1 -1
  15. package/.next/server/app/index.rsc +2 -2
  16. package/.next/server/app/page.js +3 -3
  17. package/.next/server/app/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app-paths-manifest.json +5 -5
  19. package/.next/server/functions-config-manifest.json +1 -1
  20. package/.next/server/pages/404.html +1 -1
  21. package/.next/server/pages/500.html +1 -1
  22. package/.next/server/server-reference-manifest.json +1 -1
  23. package/.next/static/chunks/971-bb44d52bcd9ee2a9.js +1 -0
  24. package/.next/static/chunks/app/page-68492e6aaf15a6dd.js +1 -0
  25. package/.next/static/css/c854bc2280bc4b27.css +3 -0
  26. package/README.md +12 -4
  27. package/app/globals.css +12 -0
  28. package/app/page.tsx +111 -6
  29. package/components/BeadTooltip.tsx +222 -0
  30. package/components/BeadsGraph.tsx +264 -56
  31. package/components/ContextMenu.tsx +49 -3
  32. package/lib/parse-beads.ts +2 -0
  33. package/lib/types.ts +2 -0
  34. package/package.json +1 -1
  35. package/public/image.png +0 -0
  36. package/.next/static/chunks/666-fb778298a77f3754.js +0 -1
  37. package/.next/static/chunks/app/page-13ee27a84e4a0c70.js +0 -1
  38. package/.next/static/css/dbf588b653aa4019.css +0 -3
  39. /package/.next/static/{hVVu0gp79UGF1SPHv0aXk → ac0cLw5kGBDWoceTBnu21}/_buildManifest.js +0 -0
  40. /package/.next/static/{hVVu0gp79UGF1SPHv0aXk → ac0cLw5kGBDWoceTBnu21}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/_next/static/css/dbf588b653aa4019.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c8b9ebfd35ae1d92.js"/><script src="/_next/static/chunks/2200cc46-7c93a0e00b0bb825.js" async=""></script><script src="/_next/static/chunks/945-3ff1d381a0af1ecd.js" async=""></script><script src="/_next/static/chunks/main-app-8b0c4a1007dbb7f4.js" async=""></script><script src="/_next/static/chunks/app/layout-13e3cdaaa416edb6.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Beads Map</title><meta name="description" content="Interactive dependency graph viewer for beads issues"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><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><script src="/_next/static/chunks/webpack-c8b9ebfd35ae1d92.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/dbf588b653aa4019.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2433,[],\"\"]\n4:I[176,[],\"\"]\n5:I[9414,[],\"\"]\n6:I[7796,[\"185\",\"static/chunks/app/layout-13e3cdaaa416edb6.js\"],\"AuthProvider\"]\nc:I[8528,[],\"\"]\n7:{\"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\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"hVVu0gp79UGF1SPHv0aXk\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"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.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/dbf588b653aa4019.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"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\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Beads Map\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Interactive dependency graph viewer for beads issues\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/_next/static/css/c854bc2280bc4b27.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c8b9ebfd35ae1d92.js"/><script src="/_next/static/chunks/2200cc46-7c93a0e00b0bb825.js" async=""></script><script src="/_next/static/chunks/945-3ff1d381a0af1ecd.js" async=""></script><script src="/_next/static/chunks/main-app-8b0c4a1007dbb7f4.js" async=""></script><script src="/_next/static/chunks/app/layout-13e3cdaaa416edb6.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Beads Map</title><meta name="description" content="Interactive dependency graph viewer for beads issues"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><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><script src="/_next/static/chunks/webpack-c8b9ebfd35ae1d92.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/c854bc2280bc4b27.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[2433,[],\"\"]\n4:I[176,[],\"\"]\n5:I[9414,[],\"\"]\n6:I[7796,[\"185\",\"static/chunks/app/layout-13e3cdaaa416edb6.js\"],\"AuthProvider\"]\nc:I[8528,[],\"\"]\n7:{\"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\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"ac0cLw5kGBDWoceTBnu21\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"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.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c854bc2280bc4b27.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"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\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Beads Map\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Interactive dependency graph viewer for beads issues\"}]]\n3:null\n"])</script></body></html>
@@ -5,6 +5,6 @@
5
5
  6:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
6
6
  7:{"display":"inline-block"}
7
7
  8:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
8
- 0:["hVVu0gp79UGF1SPHv0aXk",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","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."}]}]]}]}]],null],null],null]},[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/dbf588b653aa4019.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$5","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":"$6","children":"404"}],["$","div",null,{"style":"$7","children":["$","h2",null,{"style":"$8","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L9",["$","meta",null,{"name":"robots","content":"noindex"}]]]]]
8
+ 0:["ac0cLw5kGBDWoceTBnu21",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","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."}]}]]}]}]],null],null],null]},[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/c854bc2280bc4b27.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$5","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":"$6","children":"404"}],["$","div",null,{"style":"$7","children":["$","h2",null,{"style":"$8","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L9",["$","meta",null,{"name":"robots","content":"noindex"}]]]]]
9
9
  9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Beads Map"}],["$","meta","3",{"name":"description","content":"Interactive dependency graph viewer for beads issues"}]]
10
10
  1:null
@@ -1,8 +1,8 @@
1
- "use strict";(()=>{var e={};e.id=89,e.ids=[89],e.modules={20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},78893:e=>{e.exports=require("buffer")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},35816:e=>{e.exports=require("process")},51474:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>y,patchFetch:()=>g,requestAsyncStorage:()=>c,routeModule:()=>p,serverHooks:()=>h,staticGenerationAsyncStorage:()=>f});var s={};r.r(s),r.d(s,{GET:()=>u});var i=r(12085),n=r(31650),o=r(85980),a=r(30627),d=r(8162),l=r(6182);async function u(){try{let{beadsDir:e}=(0,l.M)(),t=(0,d.do)(e);return a.NextResponse.json(t)}catch(e){if(e?.message?.includes("No .beads/ directory found"))return a.NextResponse.json({error:"No .beads directory found",hint:"Run bd init in your project, then start beads-map from that directory"},{status:404});return console.error("Failed to load beads data:",e),a.NextResponse.json({error:"Failed to load beads data"},{status:500})}}let p=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/beads/route",pathname:"/api/beads",filename:"route",bundlePath:"app/api/beads/route"},resolvedPagePath:"/Users/david/Projects/gainforest/beads-map/app/api/beads/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:c,staticGenerationAsyncStorage:f,serverHooks:h}=p,y="/api/beads/route";function g(){return(0,o.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:f})}},6182:(e,t,r)=>{r.d(t,{M:()=>d,K:()=>u});var s=r(92048),i=r(55315);let n=require("child_process");var o=r(90696);function a(e){let t=(0,i.join)(e,"config.yaml");try{if(!(0,s.existsSync)(t))return{additionalRepos:0};let e=(0,s.readFileSync)(t,"utf-8"),r=(0,o.Qc)(e),i=r?.["issue-prefix"]||void 0,n=r?.repos?.additional,a=Array.isArray(n)?n.length:0;return{issuePrefix:i,additionalRepos:a}}catch{return{additionalRepos:0}}}function d(e){let t=process.env.BEADS_DIR;if(t){let e;let r=(0,i.resolve)(t);e=".beads"===(0,i.basename)(r)?r:(0,s.existsSync)((0,i.join)(r,".beads"))?(0,i.join)(r,".beads"):r;try{e=(0,s.realpathSync)(e)}catch{}let n=(0,i.dirname)(e),o=(0,i.basename)(n),d=a(e);return{beadsDir:e,repoRoot:n,repoName:o,...d}}let r=(0,i.resolve)(e||process.cwd()),{root:n}=(0,i.parse)(r);for(;;){let t=(0,i.join)(r,".beads");if((0,s.existsSync)(t)&&(0,s.statSync)(t).isDirectory()){let e;try{e=(0,s.realpathSync)(t)}catch{e=t}let r=(0,i.dirname)(e),n=(0,i.basename)(r),o=a(e);return{beadsDir:e,repoRoot:r,repoName:n,...o}}if(r===n)throw Error(`No .beads/ directory found.
1
+ "use strict";(()=>{var e={};e.id=89,e.ids=[89],e.modules={20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},78893:e=>{e.exports=require("buffer")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},35816:e=>{e.exports=require("process")},51474:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>h,patchFetch:()=>g,requestAsyncStorage:()=>p,routeModule:()=>c,serverHooks:()=>y,staticGenerationAsyncStorage:()=>f});var s={};r.r(s),r.d(s,{GET:()=>u});var i=r(12085),n=r(31650),a=r(85980),o=r(30627),d=r(8162),l=r(6182);async function u(){try{let{beadsDir:e}=(0,l.M)(),t=(0,d.do)(e);return o.NextResponse.json(t)}catch(e){if(e?.message?.includes("No .beads/ directory found"))return o.NextResponse.json({error:"No .beads directory found",hint:"Run bd init in your project, then start beads-map from that directory"},{status:404});return console.error("Failed to load beads data:",e),o.NextResponse.json({error:"Failed to load beads data"},{status:500})}}let c=new i.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/beads/route",pathname:"/api/beads",filename:"route",bundlePath:"app/api/beads/route"},resolvedPagePath:"/Users/david/Projects/gainforest/beads-map/app/api/beads/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:p,staticGenerationAsyncStorage:f,serverHooks:y}=c,h="/api/beads/route";function g(){return(0,a.patchFetch)({serverHooks:y,staticGenerationAsyncStorage:f})}},6182:(e,t,r)=>{r.d(t,{M:()=>d,K:()=>u});var s=r(92048),i=r(55315);let n=require("child_process");var a=r(90696);function o(e){let t=(0,i.join)(e,"config.yaml");try{if(!(0,s.existsSync)(t))return{additionalRepos:0};let e=(0,s.readFileSync)(t,"utf-8"),r=(0,a.Qc)(e),i=r?.["issue-prefix"]||void 0,n=r?.repos?.additional,o=Array.isArray(n)?n.length:0;return{issuePrefix:i,additionalRepos:o}}catch{return{additionalRepos:0}}}function d(e){let t=process.env.BEADS_DIR;if(t){let e;let r=(0,i.resolve)(t);e=".beads"===(0,i.basename)(r)?r:(0,s.existsSync)((0,i.join)(r,".beads"))?(0,i.join)(r,".beads"):r;try{e=(0,s.realpathSync)(e)}catch{}let n=(0,i.dirname)(e),a=(0,i.basename)(n),d=o(e);return{beadsDir:e,repoRoot:n,repoName:a,...d}}let r=(0,i.resolve)(e||process.cwd()),{root:n}=(0,i.parse)(r);for(;;){let t=(0,i.join)(r,".beads");if((0,s.existsSync)(t)&&(0,s.statSync)(t).isDirectory()){let e;try{e=(0,s.realpathSync)(t)}catch{e=t}let r=(0,i.dirname)(e),n=(0,i.basename)(r),a=o(e);return{beadsDir:e,repoRoot:r,repoName:n,...a}}if(r===n)throw Error(`No .beads/ directory found.
2
2
  Searched from: ${(0,i.resolve)(e||process.cwd())}
3
3
 
4
4
  To initialize beads in your project, run:
5
5
  bd init
6
6
 
7
7
  Or set the BEADS_DIR environment variable:
8
- BEADS_DIR=/path/to/project/.beads beads-map`);r=(0,i.dirname)(r)}}function l(e){try{let t=(0,n.execSync)("git config --get remote.origin.url",{cwd:e,encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]});return function(e){let t=e.trim().replace(/\.git$/,""),r=t.match(/^git@([^:]+):(.+)$/);return r?`https://${r[1]}/${r[2]}`:t.startsWith("https://")||t.startsWith("http://")?t:null}(t)}catch{return null}}function u(e){let t;let r={},n=(0,i.dirname)(e),a=l(n),d=(0,i.join)(e,"config.yaml"),u=[];try{if((0,s.existsSync)(d)){let e=(0,s.readFileSync)(d,"utf-8"),r=(0,o.Qc)(e);t=r?.["issue-prefix"]||void 0;let a=r?.repos?.additional;Array.isArray(a)&&(u=a.map(e=>(0,i.resolve)(n,e)).filter(e=>(0,s.existsSync)((0,i.join)(e,".beads"))))}}catch{}let p=t||(0,i.basename)(n);for(let e of(a&&(r[p]=a),u)){let t=l(e);if(!t)continue;let n=(0,i.join)(e,".beads","config.yaml"),a=(0,i.basename)(e);try{if((0,s.existsSync)(n)){let e=(0,s.readFileSync)(n,"utf-8"),t=(0,o.Qc)(e);t?.["issue-prefix"]&&(a=t["issue-prefix"])}}catch{}r[a]=t}return r}},8162:(e,t,r)=>{r.d(t,{Yg:()=>d,do:()=>u});var s=r(92048),i=r(55315),n=r(90696),o=r(6182);function a(e){let t=e.lastIndexOf("-");return -1===t?e:e.substring(0,t)}function d(e){let t=(0,i.join)(e,"config.yaml");try{let r=(0,s.readFileSync)(t,"utf-8"),o=(0,n.Qc)(r),a=o?.repos?.additional;if(Array.isArray(a))return a.map(t=>(0,i.resolve)(e,"..",t)).filter(e=>(0,s.existsSync)((0,i.join)(e,".beads","issues.jsonl")))}catch(e){console.error("Failed to read config.yaml:",e)}return[]}function l(e){try{return(0,s.readFileSync)(e,"utf-8").split("\n").filter(e=>e.trim().length>0).map(e=>JSON.parse(e))}catch(t){return console.error(`Failed to parse ${e}:`,t),[]}}function u(e){let t=function(e){let t=e||(0,o.M)().beadsDir,r=l((0,i.join)(t,"issues.jsonl"));for(let e of d(t)){let t=l((0,i.join)(e,".beads","issues.jsonl"));r.push(...t)}let s=new Set;return r.filter(e=>!s.has(e.id)&&(s.add(e.id),"tombstone"!==e.status))}(e),r=function(e){let t=[],r=new Set;for(let s of e)if(s.dependencies)for(let e of s.dependencies){let s=`${e.issue_id}->${e.depends_on_id}:${e.type}`;r.has(s)||(r.add(s),t.push(e))}return t}(t),s=function(e,t){let r=new Map(e.map(e=>[e.id,e])),s=new Map,i=new Map;for(let e of t)("blocks"===e.type||"parent-child"===e.type)&&(s.has(e.depends_on_id)||s.set(e.depends_on_id,[]),s.get(e.depends_on_id).push(e.issue_id),i.has(e.issue_id)||i.set(e.issue_id,[]),i.get(e.issue_id).push(e.depends_on_id));return{nodes:e.map(e=>({id:e.id,title:e.title,description:e.description,status:e.status,priority:e.priority,issueType:e.issue_type,owner:e.owner,createdAt:e.created_at,updatedAt:e.updated_at,closedAt:e.closed_at,closeReason:e.close_reason,prefix:a(e.id),blockerCount:s.get(e.id)?.length||0,dependentCount:i.get(e.id)?.length||0,blockerIds:s.get(e.id)||[],dependentIds:i.get(e.id)||[]})),links:t.filter(e=>("blocks"===e.type||"parent-child"===e.type)&&r.has(e.issue_id)&&r.has(e.depends_on_id)).map(e=>({source:e.depends_on_id,target:e.issue_id,type:e.type,createdAt:e.created_at}))}}(t,r),n=function(e,t,r){let s=[...new Set(e.map(e=>a(e.id)))],i=new Set(e.filter(e=>"closed"!==e.status).map(e=>e.id)),n=new Set;for(let e of t)"blocks"===e.type&&i.has(e.depends_on_id)&&n.add(e.issue_id);let o=e.filter(e=>("open"===e.status||"in_progress"===e.status)&&!n.has(e.id)).length;return{total:e.length,open:e.filter(e=>"open"===e.status).length,inProgress:e.filter(e=>"in_progress"===e.status).length,blocked:e.filter(e=>"blocked"===e.status).length,closed:e.filter(e=>"closed"===e.status).length,actionable:o,edges:r.links.length,prefixes:s}}(t,r,s);return{issues:t,dependencies:r,graphData:s,stats:n}}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[719,247,696],()=>r(51474));module.exports=s})();
8
+ BEADS_DIR=/path/to/project/.beads beads-map`);r=(0,i.dirname)(r)}}function l(e){try{let t=(0,n.execSync)("git config --get remote.origin.url",{cwd:e,encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]});return function(e){let t=e.trim().replace(/\.git$/,""),r=t.match(/^git@([^:]+):(.+)$/);return r?`https://${r[1]}/${r[2]}`:t.startsWith("https://")||t.startsWith("http://")?t:null}(t)}catch{return null}}function u(e){let t;let r={},n=(0,i.dirname)(e),o=l(n),d=(0,i.join)(e,"config.yaml"),u=[];try{if((0,s.existsSync)(d)){let e=(0,s.readFileSync)(d,"utf-8"),r=(0,a.Qc)(e);t=r?.["issue-prefix"]||void 0;let o=r?.repos?.additional;Array.isArray(o)&&(u=o.map(e=>(0,i.resolve)(n,e)).filter(e=>(0,s.existsSync)((0,i.join)(e,".beads"))))}}catch{}let c=t||(0,i.basename)(n);for(let e of(o&&(r[c]=o),u)){let t=l(e);if(!t)continue;let n=(0,i.join)(e,".beads","config.yaml"),o=(0,i.basename)(e);try{if((0,s.existsSync)(n)){let e=(0,s.readFileSync)(n,"utf-8"),t=(0,a.Qc)(e);t?.["issue-prefix"]&&(o=t["issue-prefix"])}}catch{}r[o]=t}return r}},8162:(e,t,r)=>{r.d(t,{Yg:()=>d,do:()=>u});var s=r(92048),i=r(55315),n=r(90696),a=r(6182);function o(e){let t=e.lastIndexOf("-");return -1===t?e:e.substring(0,t)}function d(e){let t=(0,i.join)(e,"config.yaml");try{let r=(0,s.readFileSync)(t,"utf-8"),a=(0,n.Qc)(r),o=a?.repos?.additional;if(Array.isArray(o))return o.map(t=>(0,i.resolve)(e,"..",t)).filter(e=>(0,s.existsSync)((0,i.join)(e,".beads","issues.jsonl")))}catch(e){console.error("Failed to read config.yaml:",e)}return[]}function l(e){try{return(0,s.readFileSync)(e,"utf-8").split("\n").filter(e=>e.trim().length>0).map(e=>JSON.parse(e))}catch(t){return console.error(`Failed to parse ${e}:`,t),[]}}function u(e){let t=function(e){let t=e||(0,a.M)().beadsDir,r=l((0,i.join)(t,"issues.jsonl"));for(let e of d(t)){let t=l((0,i.join)(e,".beads","issues.jsonl"));r.push(...t)}let s=new Set;return r.filter(e=>!s.has(e.id)&&(s.add(e.id),"tombstone"!==e.status))}(e),r=function(e){let t=[],r=new Set;for(let s of e)if(s.dependencies)for(let e of s.dependencies){let s=`${e.issue_id}->${e.depends_on_id}:${e.type}`;r.has(s)||(r.add(s),t.push(e))}return t}(t),s=function(e,t){let r=new Map(e.map(e=>[e.id,e])),s=new Map,i=new Map;for(let e of t)("blocks"===e.type||"parent-child"===e.type)&&(s.has(e.depends_on_id)||s.set(e.depends_on_id,[]),s.get(e.depends_on_id).push(e.issue_id),i.has(e.issue_id)||i.set(e.issue_id,[]),i.get(e.issue_id).push(e.depends_on_id));return{nodes:e.map(e=>({id:e.id,title:e.title,description:e.description,status:e.status,priority:e.priority,issueType:e.issue_type,owner:e.owner,assignee:e.assignee,createdBy:e.created_by,createdAt:e.created_at,updatedAt:e.updated_at,closedAt:e.closed_at,closeReason:e.close_reason,prefix:o(e.id),blockerCount:s.get(e.id)?.length||0,dependentCount:i.get(e.id)?.length||0,blockerIds:s.get(e.id)||[],dependentIds:i.get(e.id)||[]})),links:t.filter(e=>("blocks"===e.type||"parent-child"===e.type)&&r.has(e.issue_id)&&r.has(e.depends_on_id)).map(e=>({source:e.depends_on_id,target:e.issue_id,type:e.type,createdAt:e.created_at}))}}(t,r),n=function(e,t,r){let s=[...new Set(e.map(e=>o(e.id)))],i=new Set(e.filter(e=>"closed"!==e.status).map(e=>e.id)),n=new Set;for(let e of t)"blocks"===e.type&&i.has(e.depends_on_id)&&n.add(e.issue_id);let a=e.filter(e=>("open"===e.status||"in_progress"===e.status)&&!n.has(e.id)).length;return{total:e.length,open:e.filter(e=>"open"===e.status).length,inProgress:e.filter(e=>"in_progress"===e.status).length,blocked:e.filter(e=>"blocked"===e.status).length,closed:e.filter(e=>"closed"===e.status).length,actionable:a,edges:r.links.length,prefixes:s}}(t,r,s);return{issues:t,dependencies:r,graphData:s,stats:n}}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[719,247,696],()=>r(51474));module.exports=s})();
@@ -1,10 +1,10 @@
1
- "use strict";(()=>{var e={};e.id=594,e.ids=[594],e.modules={20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},78893:e=>{e.exports=require("buffer")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},35816:e=>{e.exports=require("process")},27491:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>g,patchFetch:()=>b,requestAsyncStorage:()=>h,routeModule:()=>f,serverHooks:()=>m,staticGenerationAsyncStorage:()=>y});var s={};r.r(s),r.d(s,{GET:()=>p,dynamic:()=>u});var n=r(12085),i=r(31650),a=r(85980),o=r(6182),d=r(8162),l=r(92048),c=r(55315);let u="force-dynamic";async function p(e){let t=null;return new Response(new ReadableStream({start(r){let s=new TextEncoder;function n(e){try{r.enqueue(s.encode(`data: ${JSON.stringify(e)}
1
+ "use strict";(()=>{var e={};e.id=594,e.ids=[594],e.modules={20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},78893:e=>{e.exports=require("buffer")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},35816:e=>{e.exports=require("process")},27491:(e,t,s)=>{s.r(t),s.d(t,{originalPathname:()=>g,patchFetch:()=>b,requestAsyncStorage:()=>h,routeModule:()=>f,serverHooks:()=>m,staticGenerationAsyncStorage:()=>y});var r={};s.r(r),s.d(r,{GET:()=>p,dynamic:()=>u});var n=s(12085),i=s(31650),a=s(85980),o=s(6182),d=s(8162),l=s(92048),c=s(55315);let u="force-dynamic";async function p(e){let t=null;return new Response(new ReadableStream({start(s){let r=new TextEncoder;function n(e){try{s.enqueue(r.encode(`data: ${JSON.stringify(e)}
2
2
 
3
- `))}catch{}}try{let{beadsDir:i}=(0,o.M)(),a=(0,d.do)(i);n(a),t=function(e,t,r=300){let s=function(e){let t=[],r=(0,c.join)(e,"issues.jsonl");for(let s of((0,l.existsSync)(r)&&t.push(r),(0,d.Yg)(e))){let e=(0,c.join)(s,".beads","issues.jsonl");(0,l.existsSync)(e)&&t.push(e)}return t}(e),n=null,i=[],a=new Map;for(let e of s){let t=(0,c.dirname)(e),r=(0,c.basename)(e);a.has(t)||a.set(t,new Set),a.get(t).add(r)}console.log(`[beads-map] Watching ${s.length} file(s) in ${a.size} dir(s) for changes`);let o=()=>{n&&clearTimeout(n),n=setTimeout(()=>{console.log("[beads-map] File change detected, pushing update"),t()},r)};for(let[e,t]of a)try{let r=(0,l.watch)(e,{persistent:!0},(e,r)=>{r&&t.has(r)&&o()});i.push(r),console.log(`[beads-map] Watching dir: ${e} for [${[...t].join(", ")}]`)}catch(t){console.warn(`[beads-map] Failed to watch ${e}:`,t)}return 0===s.length&&console.warn("[beads-map] No issues.jsonl files found to watch"),()=>{for(let e of(n&&clearTimeout(n),i))e.close();console.log("[beads-map] File watchers closed")}}(i,()=>{try{let e=(0,d.do)(i);n(e)}catch(e){console.error("Failed to reload beads data:",e)}});let u=setInterval(()=>{try{r.enqueue(s.encode(": heartbeat\n\n"))}catch{clearInterval(u)}},3e4);e.signal.addEventListener("abort",()=>{clearInterval(u),t&&t();try{r.close()}catch{}})}catch(e){n({error:e instanceof Error?e.message:"Unknown error"}),r.close()}},cancel(){t&&t()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}let f=new n.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/beads/stream/route",pathname:"/api/beads/stream",filename:"route",bundlePath:"app/api/beads/stream/route"},resolvedPagePath:"/Users/david/Projects/gainforest/beads-map/app/api/beads/stream/route.ts",nextConfigOutput:"",userland:s}),{requestAsyncStorage:h,staticGenerationAsyncStorage:y,serverHooks:m}=f,g="/api/beads/stream/route";function b(){return(0,a.patchFetch)({serverHooks:m,staticGenerationAsyncStorage:y})}},6182:(e,t,r)=>{r.d(t,{M:()=>d,K:()=>c});var s=r(92048),n=r(55315);let i=require("child_process");var a=r(90696);function o(e){let t=(0,n.join)(e,"config.yaml");try{if(!(0,s.existsSync)(t))return{additionalRepos:0};let e=(0,s.readFileSync)(t,"utf-8"),r=(0,a.Qc)(e),n=r?.["issue-prefix"]||void 0,i=r?.repos?.additional,o=Array.isArray(i)?i.length:0;return{issuePrefix:n,additionalRepos:o}}catch{return{additionalRepos:0}}}function d(e){let t=process.env.BEADS_DIR;if(t){let e;let r=(0,n.resolve)(t);e=".beads"===(0,n.basename)(r)?r:(0,s.existsSync)((0,n.join)(r,".beads"))?(0,n.join)(r,".beads"):r;try{e=(0,s.realpathSync)(e)}catch{}let i=(0,n.dirname)(e),a=(0,n.basename)(i),d=o(e);return{beadsDir:e,repoRoot:i,repoName:a,...d}}let r=(0,n.resolve)(e||process.cwd()),{root:i}=(0,n.parse)(r);for(;;){let t=(0,n.join)(r,".beads");if((0,s.existsSync)(t)&&(0,s.statSync)(t).isDirectory()){let e;try{e=(0,s.realpathSync)(t)}catch{e=t}let r=(0,n.dirname)(e),i=(0,n.basename)(r),a=o(e);return{beadsDir:e,repoRoot:r,repoName:i,...a}}if(r===i)throw Error(`No .beads/ directory found.
3
+ `))}catch{}}try{let{beadsDir:i}=(0,o.M)(),a=(0,d.do)(i);n(a),t=function(e,t,s=300){let r=function(e){let t=[],s=(0,c.join)(e,"issues.jsonl");for(let r of((0,l.existsSync)(s)&&t.push(s),(0,d.Yg)(e))){let e=(0,c.join)(r,".beads","issues.jsonl");(0,l.existsSync)(e)&&t.push(e)}return t}(e),n=null,i=[],a=new Map;for(let e of r){let t=(0,c.dirname)(e),s=(0,c.basename)(e);a.has(t)||a.set(t,new Set),a.get(t).add(s)}console.log(`[beads-map] Watching ${r.length} file(s) in ${a.size} dir(s) for changes`);let o=()=>{n&&clearTimeout(n),n=setTimeout(()=>{console.log("[beads-map] File change detected, pushing update"),t()},s)};for(let[e,t]of a)try{let s=(0,l.watch)(e,{persistent:!0},(e,s)=>{s&&t.has(s)&&o()});i.push(s),console.log(`[beads-map] Watching dir: ${e} for [${[...t].join(", ")}]`)}catch(t){console.warn(`[beads-map] Failed to watch ${e}:`,t)}return 0===r.length&&console.warn("[beads-map] No issues.jsonl files found to watch"),()=>{for(let e of(n&&clearTimeout(n),i))e.close();console.log("[beads-map] File watchers closed")}}(i,()=>{try{let e=(0,d.do)(i);n(e)}catch(e){console.error("Failed to reload beads data:",e)}});let u=setInterval(()=>{try{s.enqueue(r.encode(": heartbeat\n\n"))}catch{clearInterval(u)}},3e4);e.signal.addEventListener("abort",()=>{clearInterval(u),t&&t();try{s.close()}catch{}})}catch(e){n({error:e instanceof Error?e.message:"Unknown error"}),s.close()}},cancel(){t&&t()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}})}let f=new n.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/beads/stream/route",pathname:"/api/beads/stream",filename:"route",bundlePath:"app/api/beads/stream/route"},resolvedPagePath:"/Users/david/Projects/gainforest/beads-map/app/api/beads/stream/route.ts",nextConfigOutput:"",userland:r}),{requestAsyncStorage:h,staticGenerationAsyncStorage:y,serverHooks:m}=f,g="/api/beads/stream/route";function b(){return(0,a.patchFetch)({serverHooks:m,staticGenerationAsyncStorage:y})}},6182:(e,t,s)=>{s.d(t,{M:()=>d,K:()=>c});var r=s(92048),n=s(55315);let i=require("child_process");var a=s(90696);function o(e){let t=(0,n.join)(e,"config.yaml");try{if(!(0,r.existsSync)(t))return{additionalRepos:0};let e=(0,r.readFileSync)(t,"utf-8"),s=(0,a.Qc)(e),n=s?.["issue-prefix"]||void 0,i=s?.repos?.additional,o=Array.isArray(i)?i.length:0;return{issuePrefix:n,additionalRepos:o}}catch{return{additionalRepos:0}}}function d(e){let t=process.env.BEADS_DIR;if(t){let e;let s=(0,n.resolve)(t);e=".beads"===(0,n.basename)(s)?s:(0,r.existsSync)((0,n.join)(s,".beads"))?(0,n.join)(s,".beads"):s;try{e=(0,r.realpathSync)(e)}catch{}let i=(0,n.dirname)(e),a=(0,n.basename)(i),d=o(e);return{beadsDir:e,repoRoot:i,repoName:a,...d}}let s=(0,n.resolve)(e||process.cwd()),{root:i}=(0,n.parse)(s);for(;;){let t=(0,n.join)(s,".beads");if((0,r.existsSync)(t)&&(0,r.statSync)(t).isDirectory()){let e;try{e=(0,r.realpathSync)(t)}catch{e=t}let s=(0,n.dirname)(e),i=(0,n.basename)(s),a=o(e);return{beadsDir:e,repoRoot:s,repoName:i,...a}}if(s===i)throw Error(`No .beads/ directory found.
4
4
  Searched from: ${(0,n.resolve)(e||process.cwd())}
5
5
 
6
6
  To initialize beads in your project, run:
7
7
  bd init
8
8
 
9
9
  Or set the BEADS_DIR environment variable:
10
- BEADS_DIR=/path/to/project/.beads beads-map`);r=(0,n.dirname)(r)}}function l(e){try{let t=(0,i.execSync)("git config --get remote.origin.url",{cwd:e,encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]});return function(e){let t=e.trim().replace(/\.git$/,""),r=t.match(/^git@([^:]+):(.+)$/);return r?`https://${r[1]}/${r[2]}`:t.startsWith("https://")||t.startsWith("http://")?t:null}(t)}catch{return null}}function c(e){let t;let r={},i=(0,n.dirname)(e),o=l(i),d=(0,n.join)(e,"config.yaml"),c=[];try{if((0,s.existsSync)(d)){let e=(0,s.readFileSync)(d,"utf-8"),r=(0,a.Qc)(e);t=r?.["issue-prefix"]||void 0;let o=r?.repos?.additional;Array.isArray(o)&&(c=o.map(e=>(0,n.resolve)(i,e)).filter(e=>(0,s.existsSync)((0,n.join)(e,".beads"))))}}catch{}let u=t||(0,n.basename)(i);for(let e of(o&&(r[u]=o),c)){let t=l(e);if(!t)continue;let i=(0,n.join)(e,".beads","config.yaml"),o=(0,n.basename)(e);try{if((0,s.existsSync)(i)){let e=(0,s.readFileSync)(i,"utf-8"),t=(0,a.Qc)(e);t?.["issue-prefix"]&&(o=t["issue-prefix"])}}catch{}r[o]=t}return r}},8162:(e,t,r)=>{r.d(t,{Yg:()=>d,do:()=>c});var s=r(92048),n=r(55315),i=r(90696),a=r(6182);function o(e){let t=e.lastIndexOf("-");return -1===t?e:e.substring(0,t)}function d(e){let t=(0,n.join)(e,"config.yaml");try{let r=(0,s.readFileSync)(t,"utf-8"),a=(0,i.Qc)(r),o=a?.repos?.additional;if(Array.isArray(o))return o.map(t=>(0,n.resolve)(e,"..",t)).filter(e=>(0,s.existsSync)((0,n.join)(e,".beads","issues.jsonl")))}catch(e){console.error("Failed to read config.yaml:",e)}return[]}function l(e){try{return(0,s.readFileSync)(e,"utf-8").split("\n").filter(e=>e.trim().length>0).map(e=>JSON.parse(e))}catch(t){return console.error(`Failed to parse ${e}:`,t),[]}}function c(e){let t=function(e){let t=e||(0,a.M)().beadsDir,r=l((0,n.join)(t,"issues.jsonl"));for(let e of d(t)){let t=l((0,n.join)(e,".beads","issues.jsonl"));r.push(...t)}let s=new Set;return r.filter(e=>!s.has(e.id)&&(s.add(e.id),"tombstone"!==e.status))}(e),r=function(e){let t=[],r=new Set;for(let s of e)if(s.dependencies)for(let e of s.dependencies){let s=`${e.issue_id}->${e.depends_on_id}:${e.type}`;r.has(s)||(r.add(s),t.push(e))}return t}(t),s=function(e,t){let r=new Map(e.map(e=>[e.id,e])),s=new Map,n=new Map;for(let e of t)("blocks"===e.type||"parent-child"===e.type)&&(s.has(e.depends_on_id)||s.set(e.depends_on_id,[]),s.get(e.depends_on_id).push(e.issue_id),n.has(e.issue_id)||n.set(e.issue_id,[]),n.get(e.issue_id).push(e.depends_on_id));return{nodes:e.map(e=>({id:e.id,title:e.title,description:e.description,status:e.status,priority:e.priority,issueType:e.issue_type,owner:e.owner,createdAt:e.created_at,updatedAt:e.updated_at,closedAt:e.closed_at,closeReason:e.close_reason,prefix:o(e.id),blockerCount:s.get(e.id)?.length||0,dependentCount:n.get(e.id)?.length||0,blockerIds:s.get(e.id)||[],dependentIds:n.get(e.id)||[]})),links:t.filter(e=>("blocks"===e.type||"parent-child"===e.type)&&r.has(e.issue_id)&&r.has(e.depends_on_id)).map(e=>({source:e.depends_on_id,target:e.issue_id,type:e.type,createdAt:e.created_at}))}}(t,r),i=function(e,t,r){let s=[...new Set(e.map(e=>o(e.id)))],n=new Set(e.filter(e=>"closed"!==e.status).map(e=>e.id)),i=new Set;for(let e of t)"blocks"===e.type&&n.has(e.depends_on_id)&&i.add(e.issue_id);let a=e.filter(e=>("open"===e.status||"in_progress"===e.status)&&!i.has(e.id)).length;return{total:e.length,open:e.filter(e=>"open"===e.status).length,inProgress:e.filter(e=>"in_progress"===e.status).length,blocked:e.filter(e=>"blocked"===e.status).length,closed:e.filter(e=>"closed"===e.status).length,actionable:a,edges:r.links.length,prefixes:s}}(t,r,s);return{issues:t,dependencies:r,graphData:s,stats:i}}},12085:(e,t,r)=>{e.exports=r(30517)}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[719,696],()=>r(27491));module.exports=s})();
10
+ BEADS_DIR=/path/to/project/.beads beads-map`);s=(0,n.dirname)(s)}}function l(e){try{let t=(0,i.execSync)("git config --get remote.origin.url",{cwd:e,encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]});return function(e){let t=e.trim().replace(/\.git$/,""),s=t.match(/^git@([^:]+):(.+)$/);return s?`https://${s[1]}/${s[2]}`:t.startsWith("https://")||t.startsWith("http://")?t:null}(t)}catch{return null}}function c(e){let t;let s={},i=(0,n.dirname)(e),o=l(i),d=(0,n.join)(e,"config.yaml"),c=[];try{if((0,r.existsSync)(d)){let e=(0,r.readFileSync)(d,"utf-8"),s=(0,a.Qc)(e);t=s?.["issue-prefix"]||void 0;let o=s?.repos?.additional;Array.isArray(o)&&(c=o.map(e=>(0,n.resolve)(i,e)).filter(e=>(0,r.existsSync)((0,n.join)(e,".beads"))))}}catch{}let u=t||(0,n.basename)(i);for(let e of(o&&(s[u]=o),c)){let t=l(e);if(!t)continue;let i=(0,n.join)(e,".beads","config.yaml"),o=(0,n.basename)(e);try{if((0,r.existsSync)(i)){let e=(0,r.readFileSync)(i,"utf-8"),t=(0,a.Qc)(e);t?.["issue-prefix"]&&(o=t["issue-prefix"])}}catch{}s[o]=t}return s}},8162:(e,t,s)=>{s.d(t,{Yg:()=>d,do:()=>c});var r=s(92048),n=s(55315),i=s(90696),a=s(6182);function o(e){let t=e.lastIndexOf("-");return -1===t?e:e.substring(0,t)}function d(e){let t=(0,n.join)(e,"config.yaml");try{let s=(0,r.readFileSync)(t,"utf-8"),a=(0,i.Qc)(s),o=a?.repos?.additional;if(Array.isArray(o))return o.map(t=>(0,n.resolve)(e,"..",t)).filter(e=>(0,r.existsSync)((0,n.join)(e,".beads","issues.jsonl")))}catch(e){console.error("Failed to read config.yaml:",e)}return[]}function l(e){try{return(0,r.readFileSync)(e,"utf-8").split("\n").filter(e=>e.trim().length>0).map(e=>JSON.parse(e))}catch(t){return console.error(`Failed to parse ${e}:`,t),[]}}function c(e){let t=function(e){let t=e||(0,a.M)().beadsDir,s=l((0,n.join)(t,"issues.jsonl"));for(let e of d(t)){let t=l((0,n.join)(e,".beads","issues.jsonl"));s.push(...t)}let r=new Set;return s.filter(e=>!r.has(e.id)&&(r.add(e.id),"tombstone"!==e.status))}(e),s=function(e){let t=[],s=new Set;for(let r of e)if(r.dependencies)for(let e of r.dependencies){let r=`${e.issue_id}->${e.depends_on_id}:${e.type}`;s.has(r)||(s.add(r),t.push(e))}return t}(t),r=function(e,t){let s=new Map(e.map(e=>[e.id,e])),r=new Map,n=new Map;for(let e of t)("blocks"===e.type||"parent-child"===e.type)&&(r.has(e.depends_on_id)||r.set(e.depends_on_id,[]),r.get(e.depends_on_id).push(e.issue_id),n.has(e.issue_id)||n.set(e.issue_id,[]),n.get(e.issue_id).push(e.depends_on_id));return{nodes:e.map(e=>({id:e.id,title:e.title,description:e.description,status:e.status,priority:e.priority,issueType:e.issue_type,owner:e.owner,assignee:e.assignee,createdBy:e.created_by,createdAt:e.created_at,updatedAt:e.updated_at,closedAt:e.closed_at,closeReason:e.close_reason,prefix:o(e.id),blockerCount:r.get(e.id)?.length||0,dependentCount:n.get(e.id)?.length||0,blockerIds:r.get(e.id)||[],dependentIds:n.get(e.id)||[]})),links:t.filter(e=>("blocks"===e.type||"parent-child"===e.type)&&s.has(e.issue_id)&&s.has(e.depends_on_id)).map(e=>({source:e.depends_on_id,target:e.issue_id,type:e.type,createdAt:e.created_at}))}}(t,s),i=function(e,t,s){let r=[...new Set(e.map(e=>o(e.id)))],n=new Set(e.filter(e=>"closed"!==e.status).map(e=>e.id)),i=new Set;for(let e of t)"blocks"===e.type&&n.has(e.depends_on_id)&&i.add(e.issue_id);let a=e.filter(e=>("open"===e.status||"in_progress"===e.status)&&!i.has(e.id)).length;return{total:e.length,open:e.filter(e=>"open"===e.status).length,inProgress:e.filter(e=>"in_progress"===e.status).length,blocked:e.filter(e=>"blocked"===e.status).length,closed:e.filter(e=>"closed"===e.status).length,actionable:a,edges:s.links.length,prefixes:r}}(t,s,r);return{issues:t,dependencies:s,graphData:r,stats:i}}},12085:(e,t,s)=>{e.exports=s(30517)}};var t=require("../../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[719,696],()=>s(27491));module.exports=r})();