trybeacon 0.1.90 → 0.1.92

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 (154) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-path-routes-manifest.json +19 -19
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/server/app/@modal/(.)settings/page.js +1 -1
  7. package/.next/server/app/@modal/(.)settings/page.js.nft.json +1 -1
  8. package/.next/server/app/@modal/(.)settings/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +1 -1
  19. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +3 -3
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/.next/server/app/api/context/route.js +1 -1
  30. package/.next/server/app/api/ingest/route.js +1 -1
  31. package/.next/server/app/api/linear/route.js +1 -17
  32. package/.next/server/app/api/linear/route.js.nft.json +1 -1
  33. package/.next/server/app/api/linear/scopes/route.js +1 -17
  34. package/.next/server/app/api/linear/scopes/route.js.nft.json +1 -1
  35. package/.next/server/app/api/linear/sync/route.js +1 -17
  36. package/.next/server/app/api/linear/sync/route.js.nft.json +1 -1
  37. package/.next/server/app/api/plan/approve/route.js +1 -1
  38. package/.next/server/app/api/share/create/route.js +1 -1
  39. package/.next/server/app/docs/page.js +1 -1
  40. package/.next/server/app/docs/page.js.nft.json +1 -1
  41. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/docs.html +1 -1
  43. package/.next/server/app/docs.rsc +4 -4
  44. package/.next/server/app/docs.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  45. package/.next/server/app/docs.segments/_full.segment.rsc +4 -4
  46. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  47. package/.next/server/app/docs.segments/_index.segment.rsc +3 -3
  48. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  49. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  50. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  51. package/.next/server/app/help/page.js +2 -2
  52. package/.next/server/app/help/page.js.nft.json +1 -1
  53. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  54. package/.next/server/app/help.html +1 -1
  55. package/.next/server/app/help.rsc +4 -4
  56. package/.next/server/app/help.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  57. package/.next/server/app/help.segments/_full.segment.rsc +4 -4
  58. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  59. package/.next/server/app/help.segments/_index.segment.rsc +3 -3
  60. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  61. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +2 -2
  62. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  63. package/.next/server/app/index.html +1 -1
  64. package/.next/server/app/index.rsc +3 -3
  65. package/.next/server/app/index.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  66. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  67. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  68. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  69. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  70. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  71. package/.next/server/app/learn/page.js +3 -3
  72. package/.next/server/app/learn/page.js.nft.json +1 -1
  73. package/.next/server/app/learn/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/map/page.js +2 -2
  75. package/.next/server/app/map/page.js.nft.json +1 -1
  76. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/page.js +1 -1
  78. package/.next/server/app/page.js.nft.json +1 -1
  79. package/.next/server/app/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/parked/page.js +1 -1
  81. package/.next/server/app/parked/page.js.nft.json +1 -1
  82. package/.next/server/app/parked/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/plan/page.js +3 -3
  84. package/.next/server/app/plan/page.js.nft.json +1 -1
  85. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/s/[token]/page.js +2 -2
  87. package/.next/server/app/s/[token]/page.js.nft.json +1 -1
  88. package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/settings/page.js +1 -1
  90. package/.next/server/app/settings/page.js.nft.json +1 -1
  91. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app-paths-manifest.json +19 -19
  93. package/.next/server/chunks/1130.js +1 -1
  94. package/.next/server/chunks/1495.js +18 -0
  95. package/.next/server/chunks/{7436.js → 1898.js} +3 -3
  96. package/.next/server/chunks/2031.js +1 -1
  97. package/.next/server/chunks/2644.js +1 -0
  98. package/.next/server/chunks/3825.js +1 -1
  99. package/.next/server/chunks/4378.js +1 -1
  100. package/.next/server/chunks/{5332.js → 473.js} +3 -3
  101. package/.next/server/chunks/5623.js +1 -1
  102. package/.next/server/chunks/8227.js +1 -1
  103. package/.next/server/chunks/8709.js +8 -7
  104. package/.next/server/chunks/9683.js +1 -1
  105. package/.next/server/middleware-build-manifest.js +1 -1
  106. package/.next/server/pages/404.html +1 -1
  107. package/.next/server/pages/500.html +1 -1
  108. package/.next/server/server-reference-manifest.js +1 -1
  109. package/.next/server/server-reference-manifest.json +1 -1
  110. package/.next/static/chunks/2149-6eac4575d8a8281c.js +1 -0
  111. package/.next/static/chunks/{6283-20a6abe3453496ae.js → 3729-99f9edd66d1473ac.js} +3 -3
  112. package/.next/static/chunks/569-c70eb3d6c88282dc.js +1 -0
  113. package/.next/static/chunks/6818-051146427620d0f9.js +1 -0
  114. package/.next/static/chunks/8653-27d42df759159788.js +1 -0
  115. package/.next/static/chunks/app/@modal/(.)settings/page-77639f97e58859de.js +1 -0
  116. package/.next/static/chunks/app/docs/page-574e48b1b9519c80.js +1 -0
  117. package/.next/static/chunks/app/layout-6f04d1687adcd16e.js +1 -0
  118. package/.next/static/chunks/app/learn/{page-49bdcae5bf2a7a49.js → page-53c201dbfd759610.js} +1 -1
  119. package/.next/static/chunks/app/map/{page-6e32f55c7b69bfa0.js → page-147befd24a412e04.js} +1 -1
  120. package/.next/static/chunks/app/plan/{page-b8b89d7171a582ce.js → page-a35f98b97c750679.js} +2 -2
  121. package/.next/static/chunks/app/s/[token]/{page-7ebe66049fae02ce.js → page-db7be755d871820e.js} +1 -1
  122. package/.next/static/chunks/app/settings/page-c15764e1c2f54c5a.js +1 -0
  123. package/.next/static/css/b6c71ada5fa39830.css +1 -0
  124. package/.next/trace +47 -47
  125. package/.next/trace-build +1 -1
  126. package/dist/bin/ask.js +2 -2
  127. package/dist/bin/doctor.js +32 -30
  128. package/dist/bin/hook.js +31 -29
  129. package/dist/bin/mcp.js +41 -39
  130. package/dist/bin/plan.js +32 -30
  131. package/dist/bin/prompt.js +2 -2
  132. package/dist/bin/remove.js +3 -3
  133. package/dist/bin/stop-hook.js +4 -4
  134. package/dist/bin/uninstall.js +31 -29
  135. package/dist/lib/assets.js +20 -20
  136. package/dist/lib/codex-install.js +30 -28
  137. package/dist/lib/daemon-boot.js +11 -11
  138. package/dist/lib/global-install.js +31 -29
  139. package/drizzle/0013_quick_brother_voodoo.sql +1 -0
  140. package/drizzle/meta/0013_snapshot.json +1953 -0
  141. package/drizzle/meta/_journal.json +7 -0
  142. package/package.json +1 -1
  143. package/.next/server/chunks/2806.js +0 -1
  144. package/.next/static/chunks/2114-74736df56930b46c.js +0 -1
  145. package/.next/static/chunks/569-bfdcec83011428d3.js +0 -1
  146. package/.next/static/chunks/6818-85b9a09bb74062ef.js +0 -1
  147. package/.next/static/chunks/6930-1231a4681af2ad3f.js +0 -1
  148. package/.next/static/chunks/app/@modal/(.)settings/page-58f068e66bf2fdf6.js +0 -1
  149. package/.next/static/chunks/app/docs/page-126c0e42c71731b2.js +0 -1
  150. package/.next/static/chunks/app/layout-a8bb07fb86893add.js +0 -1
  151. package/.next/static/chunks/app/settings/page-435bfb2ac6f01744.js +0 -1
  152. package/.next/static/css/56890131dbc6daff.css +0 -1
  153. /package/.next/static/{l2BAGl1tReuc34hH3NvPZ → Ced4ZzirE-x-xhZEP02do}/_buildManifest.js +0 -0
  154. /package/.next/static/{l2BAGl1tReuc34hH3NvPZ → Ced4ZzirE-x-xhZEP02do}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"6539":{"*":{"id":"70813","name":"*","chunks":[],"async":false}},"16930":{"*":{"id":"45776","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"77476","name":"*","chunks":[],"async":false}},"23319":{"*":{"id":"4752","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"35230":{"*":{"id":"8200","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"16900","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"86634","name":"*","chunks":[],"async":false}},"40755":{"*":{"id":"599","name":"*","chunks":[],"async":false}},"44642":{"*":{"id":"86808","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"42025","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"65699","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"94736","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"50519","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"95151","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"10549","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"81281","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"88264","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"96512","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"1237","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"79573","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}},"99589":{"*":{"id":"42206","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/app-shell.tsx":{"id":99589,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-a8bb07fb86893add.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":35353,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-a8bb07fb86893add.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":63494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-a8bb07fb86893add.js"],"async":false},"/home/runner/work/beacon/beacon/app/globals.css":{"id":66872,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-a8bb07fb86893add.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":71265,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/appearance-card.tsx":{"id":23319,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/context-card.tsx":{"id":81453,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/danger-card.tsx":{"id":71423,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/delete-workspace-card.tsx":{"id":96759,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/linear-card.tsx":{"id":40755,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/permission-mode-card.tsx":{"id":67787,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/settings/settings-modal.tsx":{"id":44642,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/@base-ui/react/esm/button/Button.js":{"id":6539,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-85b9a09bb74062ef.js","569","static/chunks/569-bfdcec83011428d3.js","4662","static/chunks/app/settings/page-435bfb2ac6f01744.js"],"async":false},"/home/runner/work/beacon/beacon/components/docs/docs.tsx":{"id":73954,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/learn-workspace.tsx":{"id":37665,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/lesson-library-view.tsx":{"id":38464,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/landing/landing.tsx":{"id":21904,"name":"*","chunks":["3862","static/chunks/1a258343-954e0e6619585d3c.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8710","static/chunks/8710-6b2685272a1e1ff7.js","8974","static/chunks/app/page-62c53092bdab1224.js"],"async":false},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx":{"id":44853,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx":{"id":62079,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx":{"id":16930,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-tabs-shell.tsx":{"id":77260,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-board-view.tsx":{"id":48045,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-plan-view.tsx":{"id":51212,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx":{"id":35230,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/beacon/beacon/":[],"/home/runner/work/beacon/beacon/app/layout":[{"inlined":false,"path":"static/css/e02ab5db9ff2dca2.css"},{"inlined":false,"path":"static/css/56890131dbc6daff.css"}],"/home/runner/work/beacon/beacon/app/@modal/default":[],"/home/runner/work/beacon/beacon/app/page":[{"inlined":false,"path":"static/css/008a05b0ad6b854a.css"},{"inlined":false,"path":"static/css/53e84df868515cf7.css"},{"inlined":false,"path":"static/css/83755b1f39ccf91d.css"}],"/home/runner/work/beacon/beacon/app/@modal/(.)settings/page":[],"/home/runner/work/beacon/beacon/app/settings/page":[]},"rscModuleMapping":{"6539":{"*":{"id":"2739","name":"*","chunks":[],"async":false}},"16930":{"*":{"id":"56030","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"67878","name":"*","chunks":[],"async":false}},"23319":{"*":{"id":"22","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"35230":{"*":{"id":"478","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"28030","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"41276","name":"*","chunks":[],"async":false}},"40755":{"*":{"id":"61681","name":"*","chunks":[],"async":false}},"44642":{"*":{"id":"73314","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"7239","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"89501","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"24774","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"42696","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"74069","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"47613","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"44919","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"42590","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"46126","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"13255","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"98167","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}},"99589":{"*":{"id":"7899","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"6539":{"*":{"id":"70813","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"77476","name":"*","chunks":[],"async":false}},"23319":{"*":{"id":"4752","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"35230":{"*":{"id":"8200","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"16900","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"86634","name":"*","chunks":[],"async":false}},"40755":{"*":{"id":"599","name":"*","chunks":[],"async":false}},"44642":{"*":{"id":"86808","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"42025","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"65699","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"94736","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"50519","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"95151","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"10549","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"81281","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"88264","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"96512","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"1237","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"79573","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}},"98653":{"*":{"id":"96271","name":"*","chunks":[],"async":false}},"99589":{"*":{"id":"42206","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/app-shell.tsx":{"id":99589,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-6f04d1687adcd16e.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":35353,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-6f04d1687adcd16e.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":63494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-6f04d1687adcd16e.js"],"async":false},"/home/runner/work/beacon/beacon/app/globals.css":{"id":66872,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-6f04d1687adcd16e.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":71265,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/app-dir/link.js":{"id":98500,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/appearance-card.tsx":{"id":23319,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/context-card.tsx":{"id":81453,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/danger-card.tsx":{"id":71423,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/delete-workspace-card.tsx":{"id":96759,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/linear-card.tsx":{"id":40755,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/permission-mode-card.tsx":{"id":67787,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/settings/settings-modal.tsx":{"id":44642,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/@base-ui/react/esm/button/Button.js":{"id":6539,"name":"*","chunks":["8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","1569","static/chunks/1569-ea8e739cccfb69b5.js","6818","static/chunks/6818-051146427620d0f9.js","569","static/chunks/569-c70eb3d6c88282dc.js","4662","static/chunks/app/settings/page-c15764e1c2f54c5a.js"],"async":false},"/home/runner/work/beacon/beacon/components/docs/docs.tsx":{"id":73954,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/learn-workspace.tsx":{"id":37665,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/lesson-library-view.tsx":{"id":38464,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/landing/landing.tsx":{"id":21904,"name":"*","chunks":["3862","static/chunks/1a258343-954e0e6619585d3c.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8710","static/chunks/8710-6b2685272a1e1ff7.js","8974","static/chunks/app/page-62c53092bdab1224.js"],"async":false},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx":{"id":44853,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx":{"id":62079,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx":{"id":98653,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-tabs-shell.tsx":{"id":77260,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx":{"id":35230,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-board-view.tsx":{"id":48045,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-plan-view.tsx":{"id":51212,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/beacon/beacon/":[],"/home/runner/work/beacon/beacon/app/layout":[{"inlined":false,"path":"static/css/e02ab5db9ff2dca2.css"},{"inlined":false,"path":"static/css/b6c71ada5fa39830.css"}],"/home/runner/work/beacon/beacon/app/@modal/default":[],"/home/runner/work/beacon/beacon/app/page":[{"inlined":false,"path":"static/css/008a05b0ad6b854a.css"},{"inlined":false,"path":"static/css/53e84df868515cf7.css"},{"inlined":false,"path":"static/css/83755b1f39ccf91d.css"}],"/home/runner/work/beacon/beacon/app/@modal/(.)settings/page":[],"/home/runner/work/beacon/beacon/app/settings/page":[]},"rscModuleMapping":{"6539":{"*":{"id":"2739","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"67878","name":"*","chunks":[],"async":false}},"23319":{"*":{"id":"22","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"35230":{"*":{"id":"478","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"28030","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"41276","name":"*","chunks":[],"async":false}},"40755":{"*":{"id":"61681","name":"*","chunks":[],"async":false}},"44642":{"*":{"id":"73314","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"7239","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"89501","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"24774","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"42696","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"74069","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"47613","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"44919","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"42590","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"46126","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"13255","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"98167","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}},"98653":{"*":{"id":"56030","name":"*","chunks":[],"async":false}},"99589":{"*":{"id":"7899","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -8,8 +8,6 @@
8
8
  "/api/nodes/subtasks/route": "app/api/nodes/subtasks/route.js",
9
9
  "/apple-icon.png/route": "app/apple-icon.png/route.js",
10
10
  "/icon.svg/route": "app/icon.svg/route.js",
11
- "/api/ask/answer/route": "app/api/ask/answer/route.js",
12
- "/api/ask/deliver/route": "app/api/ask/deliver/route.js",
13
11
  "/api/ask/route": "app/api/ask/route.js",
14
12
  "/api/ask/verdict/route": "app/api/ask/verdict/route.js",
15
13
  "/api/board-annotations/[id]/route": "app/api/board-annotations/[id]/route.js",
@@ -17,8 +15,8 @@
17
15
  "/api/board-layout/route": "app/api/board-layout/route.js",
18
16
  "/api/bug-flags/[id]/route": "app/api/bug-flags/[id]/route.js",
19
17
  "/api/bug-flags/route": "app/api/bug-flags/route.js",
20
- "/api/changes/comment/claim/route": "app/api/changes/comment/claim/route.js",
21
18
  "/api/changes/comment/answer/route": "app/api/changes/comment/answer/route.js",
19
+ "/api/changes/comment/claim/route": "app/api/changes/comment/claim/route.js",
22
20
  "/api/changes/comment/route": "app/api/changes/comment/route.js",
23
21
  "/api/changes/quality/route": "app/api/changes/quality/route.js",
24
22
  "/api/changes/route": "app/api/changes/route.js",
@@ -34,67 +32,69 @@
34
32
  "/api/db/tables/[id]/route": "app/api/db/tables/[id]/route.js",
35
33
  "/api/deliverer/route": "app/api/deliverer/route.js",
36
34
  "/api/draft/approve/route": "app/api/draft/approve/route.js",
37
- "/api/draft/status/route": "app/api/draft/status/route.js",
35
+ "/api/ask/answer/route": "app/api/ask/answer/route.js",
38
36
  "/api/draft/route": "app/api/draft/route.js",
39
- "/api/edges/[id]/route": "app/api/edges/[id]/route.js",
37
+ "/api/draft/status/route": "app/api/draft/status/route.js",
38
+ "/api/ask/deliver/route": "app/api/ask/deliver/route.js",
40
39
  "/api/edges/route": "app/api/edges/route.js",
40
+ "/api/edges/[id]/route": "app/api/edges/[id]/route.js",
41
41
  "/api/endpoints/[id]/route": "app/api/endpoints/[id]/route.js",
42
+ "/api/entities/route": "app/api/entities/route.js",
42
43
  "/api/ingest/route": "app/api/ingest/route.js",
43
44
  "/api/lesson/close/route": "app/api/lesson/close/route.js",
44
45
  "/api/lesson/presence/route": "app/api/lesson/presence/route.js",
45
- "/api/lesson/questions/route": "app/api/lesson/questions/route.js",
46
46
  "/api/lesson/route": "app/api/lesson/route.js",
47
+ "/api/lesson/questions/route": "app/api/lesson/questions/route.js",
47
48
  "/api/lesson/save/route": "app/api/lesson/save/route.js",
48
49
  "/api/lesson/verdict/route": "app/api/lesson/verdict/route.js",
49
- "/api/linear/route": "app/api/linear/route.js",
50
50
  "/api/linear/scopes/route": "app/api/linear/scopes/route.js",
51
51
  "/api/linear/sync/route": "app/api/linear/sync/route.js",
52
- "/api/map/describe/route": "app/api/map/describe/route.js",
52
+ "/api/linear/route": "app/api/linear/route.js",
53
53
  "/api/map/files/route": "app/api/map/files/route.js",
54
+ "/api/map/describe/route": "app/api/map/describe/route.js",
54
55
  "/api/map/finish/route": "app/api/map/finish/route.js",
55
56
  "/api/map/route": "app/api/map/route.js",
56
57
  "/api/map/start/route": "app/api/map/start/route.js",
57
- "/api/entities/route": "app/api/entities/route.js",
58
+ "/api/map/touch-active/route": "app/api/map/touch-active/route.js",
58
59
  "/api/mention-search/route": "app/api/mention-search/route.js",
59
60
  "/api/nodes/[id]/position/route": "app/api/nodes/[id]/position/route.js",
60
61
  "/api/nodes/[id]/route": "app/api/nodes/[id]/route.js",
61
62
  "/api/nodes/positions/route": "app/api/nodes/positions/route.js",
62
63
  "/api/nodes/route": "app/api/nodes/route.js",
63
- "/api/notes/[id]/route": "app/api/notes/[id]/route.js",
64
64
  "/api/notes/route": "app/api/notes/route.js",
65
+ "/api/notes/[id]/route": "app/api/notes/[id]/route.js",
65
66
  "/api/open/route": "app/api/open/route.js",
66
- "/api/plan/annotations/route": "app/api/plan/annotations/route.js",
67
67
  "/api/plan/approve/route": "app/api/plan/approve/route.js",
68
68
  "/api/plan/history/route": "app/api/plan/history/route.js",
69
69
  "/api/plan/markdown/route": "app/api/plan/markdown/route.js",
70
+ "/api/plan/annotations/route": "app/api/plan/annotations/route.js",
70
71
  "/api/plan/presence/route": "app/api/plan/presence/route.js",
71
- "/api/plan/route": "app/api/plan/route.js",
72
72
  "/api/plan/verdict/route": "app/api/plan/verdict/route.js",
73
+ "/api/preferences/route": "app/api/preferences/route.js",
73
74
  "/api/project-meta/route": "app/api/project-meta/route.js",
75
+ "/api/plan/route": "app/api/plan/route.js",
74
76
  "/api/reset/route": "app/api/reset/route.js",
75
- "/api/scope-guard/check/route": "app/api/scope-guard/check/route.js",
76
77
  "/api/share/create/route": "app/api/share/create/route.js",
77
78
  "/api/share/route": "app/api/share/route.js",
78
79
  "/api/stream/route": "app/api/stream/route.js",
80
+ "/api/scope-guard/check/route": "app/api/scope-guard/check/route.js",
79
81
  "/api/tab/nav/route": "app/api/tab/nav/route.js",
80
82
  "/api/tab/park/route": "app/api/tab/park/route.js",
81
83
  "/api/tab/presence/route": "app/api/tab/presence/route.js",
82
84
  "/api/tab/view/route": "app/api/tab/view/route.js",
83
85
  "/api/telemetry/route": "app/api/telemetry/route.js",
84
- "/api/telemetry/stats/route": "app/api/telemetry/stats/route.js",
85
86
  "/api/version/route": "app/api/version/route.js",
87
+ "/api/telemetry/stats/route": "app/api/telemetry/stats/route.js",
86
88
  "/api/workspace/activate/route": "app/api/workspace/activate/route.js",
87
89
  "/api/workspace/route": "app/api/workspace/route.js",
88
- "/api/map/touch-active/route": "app/api/map/touch-active/route.js",
89
- "/api/preferences/route": "app/api/preferences/route.js",
90
90
  "/help/page": "app/help/page.js",
91
91
  "/@modal/(.)settings/page": "app/@modal/(.)settings/page.js",
92
92
  "/docs/page": "app/docs/page.js",
93
93
  "/learn/page": "app/learn/page.js",
94
94
  "/page": "app/page.js",
95
- "/parked/page": "app/parked/page.js",
96
95
  "/map/page": "app/map/page.js",
97
- "/s/[token]/page": "app/s/[token]/page.js",
96
+ "/parked/page": "app/parked/page.js",
97
+ "/plan/page": "app/plan/page.js",
98
98
  "/settings/page": "app/settings/page.js",
99
- "/plan/page": "app/plan/page.js"
99
+ "/s/[token]/page": "app/s/[token]/page.js"
100
100
  }
@@ -1 +1 @@
1
- "use strict";exports.id=1130,exports.ids=[1130],exports.modules={13560:(a,b,c)=>{c.d(b,{$Y:()=>k,Kq:()=>h,gY:()=>j,hj:()=>m,tI:()=>l});var d=c(44046);let e=d.k5(["ROADMAP","ARCHITECTURE"]),f=d.k5(["FEATURE","BUG"]),g=d.k5(["frontend","backend","fullstack"]),h=d.k5(["user","agent"]),i=d.k5(["PENDING","IN_PROGRESS","DONE","BLOCKED","CANCELLED","DEPRIORITIZED","KEEP","REBUILD","REPLACE","DROP"]);d.k5(["DEPENDS","CONTAINS","RELATES","REPLACES"]);let j=d.Ik({id:d.Yj().trim().min(1).max(64).optional(),view:e,kind:f.optional(),title:d.Yj().trim().min(1).max(200),cluster:d.Yj().trim().max(64).nullish(),layer:g.nullish(),role:d.Yj().trim().max(500).nullish(),plain:d.Yj().trim().max(2e4).nullish(),parentId:d.Yj().nullish(),status:i.optional(),priority:d.ai().int().min(0).max(3).optional(),x:d.ai().optional(),y:d.ai().optional(),sourceRef:d.Yj().trim().max(300).nullish()}),k=d.Ik({title:d.Yj().trim().min(1).max(200).optional(),kind:f.optional(),role:d.Yj().trim().max(500).nullish(),plain:d.Yj().trim().max(2e4).nullish(),cluster:d.Yj().trim().max(64).nullish(),layer:g.nullish(),status:i.optional(),priority:d.ai().int().min(0).max(3).optional(),sourceRef:d.Yj().trim().max(300).nullish()}),l=d.Ik({x:d.ai(),y:d.ai()}),m=d.Ik({fromId:d.Yj().min(1),toId:d.Yj().min(1),kind:d.k5(["DEPENDS","RELATES","REPLACES"]).optional(),label:d.Yj().trim().max(80).nullish(),sourceHandle:d.Yj().trim().max(16).nullish(),targetHandle:d.Yj().trim().max(16).nullish()})},29833:(a,b,c)=>{c.d(b,{mk:()=>i});let d=new Set(["a","an","the","of","for","to","and","or","in","on","with","via","by","using","use","add","adds","support","implement","implementation","feature","new","build","create","o","os","as","um","uma","de","da","do","das","dos","para","por","com","e","ou","no","na","nos","nas","ao","aos","adicionar","implementar","suporte","suportar","nova","novo","funcionalidade","usar","usando","criar"]);function e(a){return a.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim().replace(/\s+/g," ")}function f(a){return e(a).split(" ").filter(a=>a&&!d.has(a))}function g(a,b){if(!a.size||!b.size)return 0;let c=0;for(let d of a)b.has(d)&&c++;return 2*c/(a.size+b.size)}function h(a){let b=e(a).replace(/ /g,""),c=new Set;for(let a=0;a<b.length-1;a++)c.add(b.slice(a,a+2));return c}function i(a,b,c={}){let d=c.confident??.72,j=c.consider??.5,k=c.margin??.1,l=b.map(b=>{var c,d;let i,j;return{...b,score:Math.round(100*(c=a,d=b.title,i=e(c),j=e(d),i&&j?i===j?1:Math.min(1,.7*g(new Set(f(c)),new Set(f(d)))+.4*g(h(c),h(d))):0))/100}}).sort((a,b)=>b.score-a.score),m=l[0];if(!m||m.score<j)return{best:null,candidates:[]};let n=l[1]?.score??0,o=1===l.length||m.score-n>=k;return m.score>=d&&o?{best:m,candidates:[]}:{best:null,candidates:l.filter(a=>a.score>=j).slice(0,4)}}},38356:(a,b,c)=>{c.d(b,{AG:()=>i,Ey:()=>j,Kn:()=>g,eL:()=>f,oA:()=>h});var d=c(32753),e=c(29833);function f(a,b){let c=a=>(a.cluster??a.category??a.domain??"").trim().toLowerCase(),e=c(b);if(e&&e!==c(a))return!1;let f=(0,d.jR)(b.layer??null);return!f||f===(0,d.jR)(a.layer??null)}function g(a,b){let c=b?.requireLayer??!1,e=a.map(a=>{let b=[],e=a.cluster??a.category??a.domain??null;return e&&e.trim()||b.push("category"),null==a.priority&&b.push("priority"),c&&!(0,d.jR)(a.layer)&&b.push("layer"),b.length?` • "${a.title?.trim()||"(untitled)"}" — missing ${b.join(" + ")}`:null}).filter(a=>null!==a);return 0===e.length?null:"⛔ Every roadmap feature needs a category AND a priority — they drive grouping and ordering on the board, and the user shouldn't have to add them by hand."+(c?' This workspace has a frontend surface, so every feature must also carry `layer`: "frontend" | "backend" | "fullstack" — which side of the stack the work lands on.':"")+" Missing:\n"+e.join("\n")+"\n\nRe-present with each feature carrying its category as `category` (or `cluster` — both work; e.g. AUTH, SEARCH, DATA, INTEL, BILLING …) and `priority` (0 = P0 critical, 1 = P1 high, 2 = P2 medium, 3 = P3 low)."+(c?" Set `layer` on EVERY feature too.":"")+" Don't rely on defaults."}function h(a){let b=(a.title??"").trim();if(!b)return"⛔ A feature needs a non-empty title.";let c=(a.category??"").trim();if(!c){let c=function(a){let b=new Set;for(let c of a){let a=(c.cluster??"").trim();a&&b.add(a)}return[...b].sort()}(a.existing),d=c.length?` Reuse an existing category where it fits: ${c.join(", ")}.`:"";return`⛔ Feature "${b}" has no category. Every roadmap feature needs one — it drives grouping and color on the board.${d} Pass it as \`category\` (e.g. AUTH, SEARCH, DATA, INTEL, BILLING, INFRA …); don't rely on a default.`}if(a.requireLayer&&!(0,d.jR)(a.layer))return`⛔ Feature "${b}" has no layer. This workspace has a frontend surface, so every roadmap feature must say which side of the stack it lands on. Pass it as \`layer\`: "frontend" | "backend" | "fullstack".`;let g=a.existing.filter(b=>f(b,{category:c,layer:a.layer})),h=(0,e.mk)(b,g.map(a=>({id:a.id,title:a.title})));if(h.best){let a=g.find(a=>a.id===h.best.id),c=a?.status?` (${a.status})`:"";return`⛔ "${b}" already exists as the feature "${a?.title??h.best.title}"${c}. Don't create a duplicate — start it with \`beacon_feature({ action: "start", id })\`, add sub-tasks with \`beacon_feature({ action: "subtasks" })\`, or finish it with \`beacon_feature({ action: "done" })\`.`}return null}function i(a,b){let c=a.map(a=>{let c=b.filter(b=>f(b,a)),d=(0,e.mk)(a.title??"",c.map(a=>({id:a.id,title:a.title})));return d.best?{title:a.title,hit:c.find(a=>a.id===d.best.id)}:null}).filter(a=>null!==a);return c.length?"⛔ These proposed features already exist on the roadmap — reuse them instead of creating duplicates:\n"+c.map(a=>` • "${a.title}" → existing "${a.hit.title}"${a.hit.status?` (${a.hit.status})`:""}`).join("\n")+'\n\nDrop the duplicate(s) from the plan; to add work to an existing feature, ship sub-tasks or update it via `beacon_feature({ action: "done" })`. Keep only genuinely new features in the proposal.':null}function j(a,b){let c=(a??"").trim();if(!c)return null;let d=(0,e.mk)(c,b);if(d.best)return null;let f=d.candidates.length?` Did you mean: ${d.candidates.map(a=>`"${a.title}"`).join(", ")}?`:"";return`⛔ front "${c}" doesn't match an existing feature.${f} \`front\` nests a feature UNDER an existing parent feature — it is NOT a domain tag. If "${c}" is a domain, pass it as \`category\` instead. If it's a real umbrella feature, create it first via beacon_propose_plan.`}},40377:(a,b,c)=>{c.d(b,{U9:()=>e});var d=c(91430);function e(a){return(0,d.ll)`count(${a||d.ll.raw("*")})`.mapWith(Number)}},70299:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AS:()=>H,N5:()=>I,Nh:()=>A,Ol:()=>K,Pq:()=>D,hL:()=>J,nV:()=>y,r$:()=>C,y2:()=>E});var e=c(44046),f=c(34216),g=c(40377),h=c(56727),i=c(30046),j=c(19734),k=c(49565),l=c(29833),m=c(38356),n=c(32753),o=c(72595),p=c(71584),q=c(45775),r=c(72967),s=c(7903),t=c(89908),u=c(45301),v=c(76223),w=a([h,j,k,o,t,v]);async function x(a){await (0,v.Z)({currentFeatureId:a})}async function y(){let a=await h.db.query.node.findMany({where:(a,{and:b,eq:c,ne:d})=>b(c(a.view,"ROADMAP"),d(a.source,"DRAFT")),orderBy:(a,{asc:b})=>b(a.createdAt)}),b=a=>({id:a.id,title:a.title,status:a.status,category:a.cluster,priority:a.priority,layer:a.layer,kind:a.kind});return{fronts:a.filter(a=>!a.parentId).map(c=>({...b(c),tasks:a.filter(a=>a.parentId===c.id).map(a=>({...b(a),workingOn:"IN_PROGRESS"===a.status}))}))}}async function z(a,b){await h.db.update(i.node).set({status:b}).where((0,f.eq)(i.node.id,a)),await A(a),await (0,j.Bx)()}[h,j,k,o,t,v]=w.then?(await w)():w;let L=new Set(["DONE","CANCELLED","DEPRIORITIZED"]),M=new Set(["IN_PROGRESS","BLOCKED"]),N=new Set(["CANCELLED","DEPRIORITIZED"]);async function A(a){let b=new Set,c=a;for(;!b.has(c);){var d;b.add(c);let a=await h.db.query.node.findFirst({where:(a,{eq:b})=>b(a.id,c),columns:{parentId:!0,view:!0}});if(!a?.parentId||"ROADMAP"!==a.view)return;let e=await h.db.query.node.findFirst({where:(b,{eq:c})=>c(b.id,a.parentId),columns:{id:!0,status:!0,view:!0}});if(!e||"ROADMAP"!==e.view||N.has(e.status))return;let g=(d=(await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.parentId,e.id),columns:{status:!0}})).map(a=>a.status)).length?d.every(a=>L.has(a))?"DONE":d.some(a=>M.has(a))?"IN_PROGRESS":"PENDING":"PENDING";if(e.status===g)return;await h.db.update(i.node).set({status:g}).where((0,f.eq)(i.node.id,e.id)),c=e.id}}let O=new Set(["PENDING","IN_PROGRESS"]);async function B(a){let b=[],c=[],d=new Set([a]),e=[a];for(;e.length;){let a=await h.db.query.node.findMany({where:(a,{and:b,eq:c,inArray:d})=>b(d(a.parentId,e),c(a.view,"ROADMAP")),columns:{id:!0,title:!0,status:!0}});for(let f of(e=[],a))d.has(f.id)||(d.add(f.id),e.push(f.id),O.has(f.status)?b.push(f.id):"BLOCKED"===f.status&&c.push(f))}return b.length&&await h.db.update(i.node).set({status:"DONE"}).where((0,f.RV)(i.node.id,b)),{completed:b.length,blocked:c}}async function C(a){let b,c="ROADMAP"===a?"roadmap":"architecture",d=s.zP[c],e=(0,s.VE)(c);if(e.sig===d)return;let g=(await h.db.query.node.findMany({where:(b,{eq:c})=>c(b.view,a),orderBy:(a,{asc:b})=>b(a.createdAt),columns:{id:!0,parentId:!0,source:!0,cluster:!0,status:!0,priority:!0,title:!0,role:!0,x:!0,y:!0}})).filter(a=>"DRAFT"!==a.source);if(g.length<2)return;let j=null;if("ROADMAP"===a){let a="status"===e.arrangedBy||"priority"===e.arrangedBy?e.arrangedBy:"cluster";j=a,b=(0,q.VI)(g.map(a=>({id:a.id,parentId:a.parentId,cluster:a.cluster,status:a.status,priority:a.priority,title:a.title,role:a.role})),a)}else{let a=g.map(a=>a.id),c=await h.db.query.edge.findMany({where:(b,{and:c,eq:d})=>c(d(b.kind,"DEPENDS"),(0,f.RV)(b.fromId,a),(0,f.RV)(b.toId,a)),columns:{fromId:!0,toId:!0}});b=(0,r.to)(g.map(a=>({id:a.id,group:(a.cluster??"").trim()||"—"})),c)}let k=[];for(let a of g){let c=b.get(a.id);c&&(Math.round(c.x)!==Math.round(a.x)||Math.round(c.y)!==Math.round(a.y))&&k.push(h.db.update(i.node).set({x:c.x,y:c.y}).where((0,f.eq)(i.node.id,a.id)))}await Promise.all(k),(0,s.qT)(c,j?{sig:d,arrangedBy:j}:{sig:d})}async function D(a){let b=a.title.trim();if(!b)throw Error("title required");let c=a.flagExisting??!0,d=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")});if(a.id){let b=d.find(b=>b.id===a.id);if(b)return c?(await z(b.id,"IN_PROGRESS"),await x(b.id),{action:"flagged",id:b.id,title:b.title,via:"id"}):{action:"exists",id:b.id,title:b.title,status:b.status}}let e=c?d:d.filter(b=>(0,m.eL)(b,{cluster:a.cluster,layer:a.layer})),{best:f,candidates:g}=(0,l.mk)(b,e.map(a=>({id:a.id,title:a.title})));if(f){if(!c){let a=d.find(a=>a.id===f.id)?.status??"PENDING";return{action:"exists",id:f.id,title:f.title,status:a}}return await z(f.id,"IN_PROGRESS"),await x(f.id),{action:"flagged",id:f.id,title:f.title,via:"match",score:f.score}}if(g.length)return{action:"ambiguous",candidates:g};let k=d.filter(a=>!a.parentId),q=a.front?.trim()||"",r=q?(0,m.Ey)(q,k.map(a=>({id:a.id,title:a.title}))):null;if(r)return{action:"rejected",message:r};let s=null,t=null,u=null,v=null;if(q){let a=(0,l.mk)(q,k.map(a=>({id:a.id,title:a.title}))).best;s=a.id,t=a.title;let b=d.find(b=>b.id===a.id);u=b?.cluster??null,v=b?.layer??null}let w=(a.cluster?.trim()||u)??null,y=(0,n.jR)(a.layer)??(0,n.jR)(v),B=!s&&await (0,o.jZ)(),C=(0,m.oA)({title:b,category:w,layer:y,requireLayer:B,existing:d.map(a=>({id:a.id,title:a.title,cluster:a.cluster,status:a.status}))});if(C)return{action:"rejected",message:C};let D=s?d.filter(a=>a.parentId===s).length:0,E=a=>(a??"").trim()||"—",F=s?(0,p.B)(d.map(a=>({x:a.x,y:a.y})),{x:k.find(a=>a.id===s)?.x??0,y:160+110*D}):(0,p.E)(d.filter(a=>!a.parentId&&E(a.cluster)===E(w)).map(a=>({x:a.x,y:a.y})),d.map(a=>({x:a.x,y:a.y}))),G=(a.status??"").trim().toLowerCase(),[H]=await h.db.insert(i.node).values({view:"ROADMAP",kind:a.kind?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",title:b,plain:a.detail??null,cluster:w,layer:y,priority:"number"==typeof a.priority?a.priority:void 0,status:"backlog"===G||"pending"===G?"PENDING":"IN_PROGRESS",source:"SESSION",parentId:s,x:F.x,y:F.y}).returning();return await A(H.id),await (0,j.Bx)(),await x(H.id),{action:"created",id:H.id,title:b,front:t}}async function E(a){let b=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),c=async a=>{let b=await B(a);return await z(a,"DONE"),await (0,k.q)(),{ok:!0,id:a,subtasksCompleted:b.completed||void 0,subtasksBlocked:b.blocked.length?b.blocked:void 0}};if(a.id){let d=b.find(b=>b.id===a.id);if(d)return c(d.id)}if(!a.title)return{ok:!1};let{best:d,candidates:e}=(0,l.mk)(a.title,b.map(a=>({id:a.id,title:a.title})));return d?c(d.id):{ok:!1,candidates:e.length?e:void 0}}function F(a){let b=a.trim(),c=(0,u.jv)();return b.startsWith(c)&&(b=b.slice(c.length)),b.replace(/^[./]+/,"").trim()}let P=new Set(["KEEP","REBUILD","REPLACE","DROP"]),Q=e.Ik({title:e.Yj().trim().min(1),domain:e.Yj().trim().min(1),role:e.Yj().nullish(),plain:e.Yj().nullish(),layer:e.Yj().nullish(),status:e.Yj().nullish(),files:e.YO(e.Yj()).optional(),depends:e.YO(e.Yj()).optional(),bugs:e.YO(e.Ik({note:e.Yj().trim().min(1).max(2e3)})).optional()});async function G(a){let b=e.YO(Q).parse(a),c=(a,b)=>`${a.trim().toLowerCase()} ${(b??"").trim().toLowerCase()}`,d=new Map;for(let a of b)d.set(c(a.title,a.domain),a);let g=Array.from(d.values());if(!g.length)return 0;let j=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ARCHITECTURE")}),k=new Map(j.map(a=>[c(a.title,a.cluster),a])),l=new Map(j.map(a=>[a.title.toLowerCase(),a.id])),m=j.map(a=>({x:a.x,y:a.y,domain:(a.cluster??"").trim()||"—"}));for(let a of g){let b=c(a.title,a.domain),d=a.status&&P.has(a.status)?a.status:"KEEP",e=k.get(b);if(e)await h.db.update(i.node).set({cluster:a.domain,layer:(0,n.jR)(a.layer)??e.layer,role:a.role??e.role,plain:a.plain??e.plain,status:d}).where((0,f.eq)(i.node.id,e.id)),a.files?.length&&(await h.db.delete(i.nodeFile).where((0,f.eq)(i.nodeFile.nodeId,e.id)),await h.db.insert(i.nodeFile).values(Array.from(new Set(a.files)).map(a=>({nodeId:e.id,path:a}))));else{let b=a.domain.trim()||"—",{x:c,y:e}=(0,p.E)(m.filter(a=>a.domain===b),m);m.push({x:c,y:e,domain:b});let[f]=await h.db.insert(i.node).values({view:"ARCHITECTURE",source:"MANUAL",cluster:a.domain,layer:(0,n.jR)(a.layer),title:a.title,role:a.role??null,plain:a.plain??null,status:d,x:c,y:e}).returning();a.files?.length&&await h.db.insert(i.nodeFile).values(Array.from(new Set(a.files)).map(a=>({nodeId:f.id,path:a}))),l.set(a.title.toLowerCase(),f.id)}}for(let a of g){let b=l.get(a.title.toLowerCase());if(b)for(let c of a.depends??[]){let a=l.get(c.trim().toLowerCase());a&&a!==b&&(await h.db.query.edge.findFirst({where:(c,{and:d,eq:e})=>d(e(c.fromId,b),e(c.toId,a),e(c.kind,"DEPENDS"))})||await h.db.insert(i.edge).values({fromId:b,toId:a,kind:"DEPENDS"}).catch(()=>{}))}}for(let a of g){if(!a.bugs?.length)continue;let b=l.get(a.title.toLowerCase());if(b)for(let c of a.bugs)await h.db.query.bugFlag.findFirst({where:(a,{and:d,eq:e,isNull:f})=>d(e(a.nodeId,b),e(a.note,c.note),f(a.resolvedAt))})||await h.db.insert(i.bugFlag).values({nodeId:b,by:"agent",note:c.note})}return g.length}async function H(a){let b=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),c=a.id?b.find(b=>b.id===a.id):void 0;if(!c&&a.title){let{best:d,candidates:e}=(0,l.mk)(a.title,b.map(a=>({id:a.id,title:a.title})));if(d)c=b.find(a=>a.id===d.id);else if(e.length)return{ok:!1,candidates:e}}if(!c)return{ok:!1};await h.db.update(i.node).set({plain:a.description,status:"DONE"}).where((0,f.eq)(i.node.id,c.id));let d=await B(c.id);if(await A(c.id),await (0,k.q)(),a.files?.length)for(let b of Array.from(new Set(a.files.map(F).filter(Boolean))))await h.db.insert(i.nodeFile).values({nodeId:c.id,path:b}).onConflictDoNothing({target:[i.nodeFile.nodeId,i.nodeFile.path]});return await h.db.update(i.appSetting).set({currentFeatureId:null}).where((0,f.eq)(i.appSetting.currentFeatureId,c.id)),a.architecture?.length&&await G(a.architecture),await (0,j.Bx)(),{ok:!0,id:c.id,subtasksCompleted:d.completed||void 0,subtasksBlocked:d.blocked.length?d.blocked:void 0}}async function I(a){let b=[];for(let c of a){let a=await H(c);b.push({...a,title:c.title})}return{results:b}}async function J(a){let b=Array.from(new Set((a.files??[]).map(F).filter(Boolean))),c=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),d=a.id?c.find(b=>b.id===a.id):void 0;if(!d&&a.title){let{best:b,candidates:e}=(0,l.mk)(a.title,c.map(a=>({id:a.id,title:a.title})));if(b)d=c.find(a=>a.id===b.id);else if(e.length)return{ok:!1,candidates:e}}if(!d)return{ok:!1};for(let a of b)await h.db.insert(i.nodeFile).values({nodeId:d.id,path:a}).onConflictDoNothing({target:[i.nodeFile.nodeId,i.nodeFile.path]});await (0,j.Bx)();let e=(await h.db.select({n:(0,g.U9)()}).from(i.nodeFile).where((0,f.eq)(i.nodeFile.nodeId,d.id)))[0].n;return{ok:!0,id:d.id,count:e}}async function K(a){let b,c=a.items.filter(a=>a.title.trim());if(!c.length)return{ok:!1,reason:"no_items"};if(a.parentId)b=await h.db.query.node.findFirst({where:(b,{eq:c})=>c(b.id,a.parentId)});else if(a.parentTitle&&a.parentTitle.trim()){let c=await h.db.query.node.findMany({where:(a,{isNull:b})=>b(a.parentId),columns:{id:!0,title:!0,cluster:!0,status:!0}}),{best:d,candidates:e}=(0,l.mk)(a.parentTitle.trim(),c.map(a=>({id:a.id,title:a.title,cluster:a.cluster,status:a.status})));if(d)b=await h.db.query.node.findFirst({where:(a,{eq:b})=>b(a.id,d.id)});else if(e.length)return{ok:!1,reason:"ambiguous",candidates:e}}if(!b)return{ok:!1,reason:"parent_not_found"};let d=b,e=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.parentId,d.id),columns:{id:!0,title:!0}}),f=c.filter(a=>(0,l.mk)(a.title.trim(),e).best);if(f.length)return{ok:!1,reason:"duplicate",message:`⛔ These sub-tasks already exist under "${d.title}": ${f.map(a=>`"${a.title.trim()}"`).join(", ")}. Drop the duplicates — only add genuinely new sub-tasks.`};let g=(await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,d.view),columns:{x:!0,y:!0}})).map(a=>({x:a.x,y:a.y})),i=[];for(let a=0;a<c.length;a++){let b=c[a],e=(0,p.B)(g,{x:d.x+240*a,y:d.y+200});g.push(e);let f=await (0,t.RM)({view:d.view,kind:b.kind?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",title:b.title.trim(),plain:b.plain??null,cluster:d.cluster??null,layer:(0,n.jR)(b.layer)??(0,n.jR)(d.layer),parentId:d.id,x:e.x,y:e.y});i.push({id:f.id,title:f.title})}return i.length&&await A(i[0].id),await (0,j.Bx)(),{ok:!0,parent:{id:d.id,title:d.title},created:i}}d()}catch(a){d(a)}})},71584:(a,b,c)=>{function d(a,b){let c={x:b.x,y:b.y};for(let b=0;b<100&&a.some(a=>200>Math.abs(c.x-a.x)&&150>Math.abs(c.y-a.y));b++)c.y+=150;return c}function e(a,b,c={}){let f=c.colW??320,g=c.rowH??150,h=c.maxCols??4,i=c.bandGap??90;if(0===a.length){if(0===b.length)return{x:0,y:0};let a=Math.max(...b.map(a=>a.y));return d(b,{x:0,y:a+g+i})}let j=Math.min(...a.map(a=>a.x)),k=Math.min(...a.map(a=>a.y)),l=a.map(a=>Math.max(0,Math.round((a.x-j)/f))),m=Math.min(h,Math.max(Math.max(...l)+1,Math.ceil(Math.sqrt(a.length+1)))),n=Array(m).fill(k-g);a.forEach((a,b)=>{let c=Math.min(l[b],m-1);n[c]=Math.max(n[c],a.y)});let o=0;for(let a=1;a<m;a++)n[a]<n[o]&&(o=a);return d(b,{x:j+o*f,y:n[o]+g})}c.d(b,{B:()=>d,E:()=>e})},76223:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Z:()=>i,t:()=>h});var e=c(56727),f=c(30046),g=a([e]);async function h(a=e.db){let[b]=await a.insert(f.appSetting).values({id:"singleton"}).onConflictDoUpdate({target:f.appSetting.id,set:{id:"singleton"}}).returning();return b}async function i(a,b=e.db){let[c]=await b.insert(f.appSetting).values({id:"singleton",...a}).onConflictDoUpdate({target:f.appSetting.id,set:a}).returning();return c}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},89908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>n,B2:()=>q,CB:()=>r,OK:()=>m,Qd:()=>l,RM:()=>k,jO:()=>o,k5:()=>p});var e=c(34216),f=c(56727),g=c(30046),h=c(70299),i=c(13560),j=a([f,h]);async function k(a){let b=i.gY.parse(a),c="ARCHITECTURE"===b.view?"REBUILD":"PENDING",[d]=await f.db.insert(g.node).values({...b.id?{id:b.id}:{},view:b.view,kind:b.kind??"FEATURE",title:b.title,cluster:b.cluster??null,layer:b.layer??null,role:b.role??null,plain:b.plain??null,parentId:b.parentId??null,status:b.status??c,priority:b.priority??2,x:b.x??0,y:b.y??0,sourceRef:b.sourceRef??null}).returning();return d}async function l(a){let b=i.hj.parse(a);if(b.fromId===b.toId)throw Error("Self-edge not allowed");let c=b.kind??"DEPENDS",d=await f.db.query.edge.findFirst({where:(a,{and:d,eq:e})=>d(e(a.fromId,b.fromId),e(a.toId,b.toId),e(a.kind,c))});if(d)return d;let[e]=await f.db.insert(g.edge).values({fromId:b.fromId,toId:b.toId,kind:c,label:b.label??null,sourceHandle:b.sourceHandle??null,targetHandle:b.targetHandle??null}).returning();return e}async function m(a,b){let c=i.$Y.parse(b),[d]=await f.db.update(g.node).set(c).where((0,e.eq)(g.node.id,a)).returning();return void 0!==c.status&&await (0,h.Nh)(a),d}async function n(a){let[b]=await f.db.delete(g.node).where((0,e.eq)(g.node.id,a)).returning();return b}async function o(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.node).set(d).where((0,e.eq)(g.node.id,a)).returning();return h}async function p(a){return await Promise.all(a.map(a=>{let b=i.tI.parse({x:a.x,y:a.y});return f.db.update(g.node).set(b).where((0,e.eq)(g.node.id,a.id))})),a.length}async function q(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.dbTable).set(d).where((0,e.eq)(g.dbTable.id,a)).returning();return h}async function r(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.endpoint).set(d).where((0,e.eq)(g.endpoint.id,a)).returning();return h}[f,h]=j.then?(await j)():j,d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=1130,exports.ids=[1130],exports.modules={13560:(a,b,c)=>{c.d(b,{$Y:()=>k,Kq:()=>h,gY:()=>j,hj:()=>m,tI:()=>l});var d=c(44046);let e=d.k5(["ROADMAP","ARCHITECTURE"]),f=d.k5(["FEATURE","BUG"]),g=d.k5(["frontend","backend","fullstack"]),h=d.k5(["user","agent"]),i=d.k5(["PENDING","IN_PROGRESS","DONE","BLOCKED","CANCELLED","DEPRIORITIZED","KEEP","REBUILD","REPLACE","DROP"]);d.k5(["DEPENDS","CONTAINS","RELATES","REPLACES"]);let j=d.Ik({id:d.Yj().trim().min(1).max(64).optional(),view:e,kind:f.optional(),title:d.Yj().trim().min(1).max(200),cluster:d.Yj().trim().max(64).nullish(),layer:g.nullish(),role:d.Yj().trim().max(500).nullish(),plain:d.Yj().trim().max(2e4).nullish(),parentId:d.Yj().nullish(),status:i.optional(),priority:d.ai().int().min(0).max(3).optional(),x:d.ai().optional(),y:d.ai().optional(),sourceRef:d.Yj().trim().max(300).nullish()}),k=d.Ik({title:d.Yj().trim().min(1).max(200).optional(),kind:f.optional(),role:d.Yj().trim().max(500).nullish(),plain:d.Yj().trim().max(2e4).nullish(),cluster:d.Yj().trim().max(64).nullish(),layer:g.nullish(),status:i.optional(),priority:d.ai().int().min(0).max(3).optional(),sourceRef:d.Yj().trim().max(300).nullish()}),l=d.Ik({x:d.ai(),y:d.ai()}),m=d.Ik({fromId:d.Yj().min(1),toId:d.Yj().min(1),kind:d.k5(["DEPENDS","RELATES","REPLACES"]).optional(),label:d.Yj().trim().max(80).nullish(),sourceHandle:d.Yj().trim().max(16).nullish(),targetHandle:d.Yj().trim().max(16).nullish()})},14286:(a,b,c)=>{c.d(b,{$t:()=>f,IX:()=>i,Oh:()=>h,rT:()=>g});let d={completed:"DONE",canceled:"CANCELLED",started:"IN_PROGRESS",backlog:"PENDING",unstarted:"PENDING",triage:"PENDING"},e={1:0,2:1,3:2,4:3,0:2};function f(a){return a+1}function g(a){let b={state:{name:a.stateName,color:a.stateColor,type:a.stateType},team:{id:a.teamId,key:a.teamKey,name:a.teamName}};return a.projectId&&a.projectName&&(b.project={id:a.projectId,name:a.projectName}),a.milestoneId&&a.milestoneName&&(b.milestone={id:a.milestoneId,name:a.milestoneName}),b}function h(a){if(!a)return null;try{return JSON.parse(a)}catch{return null}}function i(a){return{title:a.title,plain:a.description??null,status:d[a.stateType]??"PENDING",priority:e[a.priority]??2,kind:a.labels.some(a=>"bug"===a.toLowerCase())?"BUG":"FEATURE",cluster:a.projectName??a.teamKey,source:"LINEAR",externalId:a.id,sourceRef:a.url,assigneeName:a.assigneeName??null,assigneeAvatarUrl:a.assigneeAvatarUrl??null,externalMeta:JSON.stringify(g(a))}}},29833:(a,b,c)=>{c.d(b,{mk:()=>i});let d=new Set(["a","an","the","of","for","to","and","or","in","on","with","via","by","using","use","add","adds","support","implement","implementation","feature","new","build","create","o","os","as","um","uma","de","da","do","das","dos","para","por","com","e","ou","no","na","nos","nas","ao","aos","adicionar","implementar","suporte","suportar","nova","novo","funcionalidade","usar","usando","criar"]);function e(a){return a.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim().replace(/\s+/g," ")}function f(a){return e(a).split(" ").filter(a=>a&&!d.has(a))}function g(a,b){if(!a.size||!b.size)return 0;let c=0;for(let d of a)b.has(d)&&c++;return 2*c/(a.size+b.size)}function h(a){let b=e(a).replace(/ /g,""),c=new Set;for(let a=0;a<b.length-1;a++)c.add(b.slice(a,a+2));return c}function i(a,b,c={}){let d=c.confident??.72,j=c.consider??.5,k=c.margin??.1,l=b.map(b=>{var c,d;let i,j;return{...b,score:Math.round(100*(c=a,d=b.title,i=e(c),j=e(d),i&&j?i===j?1:Math.min(1,.7*g(new Set(f(c)),new Set(f(d)))+.4*g(h(c),h(d))):0))/100}}).sort((a,b)=>b.score-a.score),m=l[0];if(!m||m.score<j)return{best:null,candidates:[]};let n=l[1]?.score??0,o=1===l.length||m.score-n>=k;return m.score>=d&&o?{best:m,candidates:[]}:{best:null,candidates:l.filter(a=>a.score>=j).slice(0,4)}}},38356:(a,b,c)=>{c.d(b,{AG:()=>i,Ey:()=>j,Kn:()=>g,eL:()=>f,oA:()=>h});var d=c(32753),e=c(29833);function f(a,b){let c=a=>(a.cluster??a.category??a.domain??"").trim().toLowerCase(),e=c(b);if(e&&e!==c(a))return!1;let f=(0,d.jR)(b.layer??null);return!f||f===(0,d.jR)(a.layer??null)}function g(a,b){let c=b?.requireLayer??!1,e=a.map(a=>{let b=[],e=a.cluster??a.category??a.domain??null;return e&&e.trim()||b.push("category"),null==a.priority&&b.push("priority"),c&&!(0,d.jR)(a.layer)&&b.push("layer"),b.length?` • "${a.title?.trim()||"(untitled)"}" — missing ${b.join(" + ")}`:null}).filter(a=>null!==a);return 0===e.length?null:"⛔ Every roadmap feature needs a category AND a priority — they drive grouping and ordering on the board, and the user shouldn't have to add them by hand."+(c?' This workspace has a frontend surface, so every feature must also carry `layer`: "frontend" | "backend" | "fullstack" — which side of the stack the work lands on.':"")+" Missing:\n"+e.join("\n")+"\n\nRe-present with each feature carrying its category as `category` (or `cluster` — both work; e.g. AUTH, SEARCH, DATA, INTEL, BILLING …) and `priority` (0 = P0 critical, 1 = P1 high, 2 = P2 medium, 3 = P3 low)."+(c?" Set `layer` on EVERY feature too.":"")+" Don't rely on defaults."}function h(a){let b=(a.title??"").trim();if(!b)return"⛔ A feature needs a non-empty title.";let c=(a.category??"").trim();if(!c){let c=function(a){let b=new Set;for(let c of a){let a=(c.cluster??"").trim();a&&b.add(a)}return[...b].sort()}(a.existing),d=c.length?` Reuse an existing category where it fits: ${c.join(", ")}.`:"";return`⛔ Feature "${b}" has no category. Every roadmap feature needs one — it drives grouping and color on the board.${d} Pass it as \`category\` (e.g. AUTH, SEARCH, DATA, INTEL, BILLING, INFRA …); don't rely on a default.`}if(a.requireLayer&&!(0,d.jR)(a.layer))return`⛔ Feature "${b}" has no layer. This workspace has a frontend surface, so every roadmap feature must say which side of the stack it lands on. Pass it as \`layer\`: "frontend" | "backend" | "fullstack".`;let g=a.existing.filter(b=>f(b,{category:c,layer:a.layer})),h=(0,e.mk)(b,g.map(a=>({id:a.id,title:a.title})));if(h.best){let a=g.find(a=>a.id===h.best.id),c=a?.status?` (${a.status})`:"";return`⛔ "${b}" already exists as the feature "${a?.title??h.best.title}"${c}. Don't create a duplicate — start it with \`beacon_feature({ action: "start", id })\`, add sub-tasks with \`beacon_feature({ action: "subtasks" })\`, or finish it with \`beacon_feature({ action: "done" })\`.`}return null}function i(a,b){let c=a.map(a=>{let c=b.filter(b=>f(b,a)),d=(0,e.mk)(a.title??"",c.map(a=>({id:a.id,title:a.title})));return d.best?{title:a.title,hit:c.find(a=>a.id===d.best.id)}:null}).filter(a=>null!==a);return c.length?"⛔ These proposed features already exist on the roadmap — reuse them instead of creating duplicates:\n"+c.map(a=>` • "${a.title}" → existing "${a.hit.title}"${a.hit.status?` (${a.hit.status})`:""}`).join("\n")+'\n\nDrop the duplicate(s) from the plan; to add work to an existing feature, ship sub-tasks or update it via `beacon_feature({ action: "done" })`. Keep only genuinely new features in the proposal.':null}function j(a,b){let c=(a??"").trim();if(!c)return null;let d=(0,e.mk)(c,b);if(d.best)return null;let f=d.candidates.length?` Did you mean: ${d.candidates.map(a=>`"${a.title}"`).join(", ")}?`:"";return`⛔ front "${c}" doesn't match an existing feature.${f} \`front\` nests a feature UNDER an existing parent feature — it is NOT a domain tag. If "${c}" is a domain, pass it as \`category\` instead. If it's a real umbrella feature, create it first via beacon_propose_plan.`}},40377:(a,b,c)=>{c.d(b,{U9:()=>e});var d=c(91430);function e(a){return(0,d.ll)`count(${a||d.ll.raw("*")})`.mapWith(Number)}},70299:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AS:()=>I,N5:()=>J,Nh:()=>B,Ol:()=>L,Pq:()=>E,hL:()=>K,nV:()=>z,r$:()=>D,y2:()=>F});var e=c(44046),f=c(34216),g=c(40377),h=c(56727),i=c(30046),j=c(19734),k=c(49565),l=c(29833),m=c(38356),n=c(32753),o=c(72595),p=c(71584),q=c(45775),r=c(14286),s=c(72967),t=c(7903),u=c(89908),v=c(45301),w=c(76223),x=a([h,j,k,o,u,w]);async function y(a){await (0,w.Z)({currentFeatureId:a})}async function z(){let a=await h.db.query.node.findMany({where:(a,{and:b,eq:c,ne:d})=>b(c(a.view,"ROADMAP"),d(a.source,"DRAFT")),orderBy:(a,{asc:b})=>b(a.createdAt)}),b=a=>({id:a.id,title:a.title,status:a.status,category:a.cluster,priority:a.priority,layer:a.layer,kind:a.kind});return{fronts:a.filter(a=>!a.parentId).map(c=>({...b(c),tasks:a.filter(a=>a.parentId===c.id).map(a=>({...b(a),workingOn:"IN_PROGRESS"===a.status}))}))}}async function A(a,b){await h.db.update(i.node).set({status:b}).where((0,f.eq)(i.node.id,a)),await B(a),await (0,j.Bx)()}[h,j,k,o,u,w]=x.then?(await x)():x;let M=new Set(["DONE","CANCELLED","DEPRIORITIZED"]),N=new Set(["IN_PROGRESS","BLOCKED"]),O=new Set(["CANCELLED","DEPRIORITIZED"]);async function B(a){let b=new Set,c=a;for(;!b.has(c);){var d;b.add(c);let a=await h.db.query.node.findFirst({where:(a,{eq:b})=>b(a.id,c),columns:{parentId:!0,view:!0}});if(!a?.parentId||"ROADMAP"!==a.view)return;let e=await h.db.query.node.findFirst({where:(b,{eq:c})=>c(b.id,a.parentId),columns:{id:!0,status:!0,view:!0}});if(!e||"ROADMAP"!==e.view||O.has(e.status))return;let g=(d=(await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.parentId,e.id),columns:{status:!0}})).map(a=>a.status)).length?d.every(a=>M.has(a))?"DONE":d.some(a=>N.has(a))?"IN_PROGRESS":"PENDING":"PENDING";if(e.status===g)return;await h.db.update(i.node).set({status:g}).where((0,f.eq)(i.node.id,e.id)),c=e.id}}let P=new Set(["PENDING","IN_PROGRESS"]);async function C(a){let b=[],c=[],d=new Set([a]),e=[a];for(;e.length;){let a=await h.db.query.node.findMany({where:(a,{and:b,eq:c,inArray:d})=>b(d(a.parentId,e),c(a.view,"ROADMAP")),columns:{id:!0,title:!0,status:!0}});for(let f of(e=[],a))d.has(f.id)||(d.add(f.id),e.push(f.id),P.has(f.status)?b.push(f.id):"BLOCKED"===f.status&&c.push(f))}return b.length&&await h.db.update(i.node).set({status:"DONE"}).where((0,f.RV)(i.node.id,b)),{completed:b.length,blocked:c}}async function D(a){let b,c="ROADMAP"===a?"roadmap":"architecture",d=t.zP[c],e=(0,t.VE)(c);if(e.sig===d)return;let g=(await h.db.query.node.findMany({where:(b,{eq:c})=>c(b.view,a),orderBy:(a,{asc:b})=>b(a.createdAt),columns:{id:!0,parentId:!0,source:!0,cluster:!0,status:!0,priority:!0,title:!0,role:!0,x:!0,y:!0,externalMeta:!0}})).filter(a=>"DRAFT"!==a.source);if(g.length<2)return;let j=null;if("ROADMAP"===a){let a="status"===e.arrangedBy||"priority"===e.arrangedBy?e.arrangedBy:"cluster";j=a,b=(0,q.VI)(g.map(a=>{let b=(0,r.Oh)(a.externalMeta)?.state;return{id:a.id,parentId:a.parentId,cluster:a.cluster,status:a.status,priority:a.priority,stateName:b?.name??null,stateType:b?.type??null,title:a.title,role:a.role}}),a)}else{let a=g.map(a=>a.id),c=await h.db.query.edge.findMany({where:(b,{and:c,eq:d})=>c(d(b.kind,"DEPENDS"),(0,f.RV)(b.fromId,a),(0,f.RV)(b.toId,a)),columns:{fromId:!0,toId:!0}});b=(0,s.to)(g.map(a=>({id:a.id,group:(a.cluster??"").trim()||"—"})),c)}let k=[];for(let a of g){let c=b.get(a.id);c&&(Math.round(c.x)!==Math.round(a.x)||Math.round(c.y)!==Math.round(a.y))&&k.push(h.db.update(i.node).set({x:c.x,y:c.y}).where((0,f.eq)(i.node.id,a.id)))}await Promise.all(k),(0,t.qT)(c,j?{sig:d,arrangedBy:j}:{sig:d})}async function E(a){let b=a.title.trim();if(!b)throw Error("title required");let c=a.flagExisting??!0,d=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")});if(a.id){let b=d.find(b=>b.id===a.id);if(b)return c?(await A(b.id,"IN_PROGRESS"),await y(b.id),{action:"flagged",id:b.id,title:b.title,via:"id"}):{action:"exists",id:b.id,title:b.title,status:b.status}}let e=c?d:d.filter(b=>(0,m.eL)(b,{cluster:a.cluster,layer:a.layer})),{best:f,candidates:g}=(0,l.mk)(b,e.map(a=>({id:a.id,title:a.title})));if(f){if(!c){let a=d.find(a=>a.id===f.id)?.status??"PENDING";return{action:"exists",id:f.id,title:f.title,status:a}}return await A(f.id,"IN_PROGRESS"),await y(f.id),{action:"flagged",id:f.id,title:f.title,via:"match",score:f.score}}if(g.length)return{action:"ambiguous",candidates:g};let k=d.filter(a=>!a.parentId),q=a.front?.trim()||"",r=q?(0,m.Ey)(q,k.map(a=>({id:a.id,title:a.title}))):null;if(r)return{action:"rejected",message:r};let s=null,t=null,u=null,v=null;if(q){let a=(0,l.mk)(q,k.map(a=>({id:a.id,title:a.title}))).best;s=a.id,t=a.title;let b=d.find(b=>b.id===a.id);u=b?.cluster??null,v=b?.layer??null}let w=(a.cluster?.trim()||u)??null,x=(0,n.jR)(a.layer)??(0,n.jR)(v),z=!s&&await (0,o.jZ)(),C=(0,m.oA)({title:b,category:w,layer:x,requireLayer:z,existing:d.map(a=>({id:a.id,title:a.title,cluster:a.cluster,status:a.status}))});if(C)return{action:"rejected",message:C};let D=s?d.filter(a=>a.parentId===s).length:0,E=a=>(a??"").trim()||"—",F=s?(0,p.B)(d.map(a=>({x:a.x,y:a.y})),{x:k.find(a=>a.id===s)?.x??0,y:160+110*D}):(0,p.E)(d.filter(a=>!a.parentId&&E(a.cluster)===E(w)).map(a=>({x:a.x,y:a.y})),d.map(a=>({x:a.x,y:a.y}))),G=(a.status??"").trim().toLowerCase(),[H]=await h.db.insert(i.node).values({view:"ROADMAP",kind:a.kind?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",title:b,plain:a.detail??null,cluster:w,layer:x,priority:"number"==typeof a.priority?a.priority:void 0,status:"backlog"===G||"pending"===G?"PENDING":"IN_PROGRESS",source:"SESSION",parentId:s,x:F.x,y:F.y}).returning();return await B(H.id),await (0,j.Bx)(),await y(H.id),{action:"created",id:H.id,title:b,front:t}}async function F(a){let b=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),c=async a=>{let b=await C(a);return await A(a,"DONE"),await (0,k.q)(),{ok:!0,id:a,subtasksCompleted:b.completed||void 0,subtasksBlocked:b.blocked.length?b.blocked:void 0}};if(a.id){let d=b.find(b=>b.id===a.id);if(d)return c(d.id)}if(!a.title)return{ok:!1};let{best:d,candidates:e}=(0,l.mk)(a.title,b.map(a=>({id:a.id,title:a.title})));return d?c(d.id):{ok:!1,candidates:e.length?e:void 0}}function G(a){let b=a.trim(),c=(0,v.jv)();return b.startsWith(c)&&(b=b.slice(c.length)),b.replace(/^[./]+/,"").trim()}let Q=new Set(["KEEP","REBUILD","REPLACE","DROP"]),R=e.Ik({title:e.Yj().trim().min(1),domain:e.Yj().trim().min(1),role:e.Yj().nullish(),plain:e.Yj().nullish(),layer:e.Yj().nullish(),status:e.Yj().nullish(),files:e.YO(e.Yj()).optional(),depends:e.YO(e.Yj()).optional(),bugs:e.YO(e.Ik({note:e.Yj().trim().min(1).max(2e3)})).optional()});async function H(a){let b=e.YO(R).parse(a),c=(a,b)=>`${a.trim().toLowerCase()} ${(b??"").trim().toLowerCase()}`,d=new Map;for(let a of b)d.set(c(a.title,a.domain),a);let g=Array.from(d.values());if(!g.length)return 0;let j=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ARCHITECTURE")}),k=new Map(j.map(a=>[c(a.title,a.cluster),a])),l=new Map(j.map(a=>[a.title.toLowerCase(),a.id])),m=j.map(a=>({x:a.x,y:a.y,domain:(a.cluster??"").trim()||"—"}));for(let a of g){let b=c(a.title,a.domain),d=a.status&&Q.has(a.status)?a.status:"KEEP",e=k.get(b);if(e)await h.db.update(i.node).set({cluster:a.domain,layer:(0,n.jR)(a.layer)??e.layer,role:a.role??e.role,plain:a.plain??e.plain,status:d}).where((0,f.eq)(i.node.id,e.id)),a.files?.length&&(await h.db.delete(i.nodeFile).where((0,f.eq)(i.nodeFile.nodeId,e.id)),await h.db.insert(i.nodeFile).values(Array.from(new Set(a.files)).map(a=>({nodeId:e.id,path:a}))));else{let b=a.domain.trim()||"—",{x:c,y:e}=(0,p.E)(m.filter(a=>a.domain===b),m);m.push({x:c,y:e,domain:b});let[f]=await h.db.insert(i.node).values({view:"ARCHITECTURE",source:"MANUAL",cluster:a.domain,layer:(0,n.jR)(a.layer),title:a.title,role:a.role??null,plain:a.plain??null,status:d,x:c,y:e}).returning();a.files?.length&&await h.db.insert(i.nodeFile).values(Array.from(new Set(a.files)).map(a=>({nodeId:f.id,path:a}))),l.set(a.title.toLowerCase(),f.id)}}for(let a of g){let b=l.get(a.title.toLowerCase());if(b)for(let c of a.depends??[]){let a=l.get(c.trim().toLowerCase());a&&a!==b&&(await h.db.query.edge.findFirst({where:(c,{and:d,eq:e})=>d(e(c.fromId,b),e(c.toId,a),e(c.kind,"DEPENDS"))})||await h.db.insert(i.edge).values({fromId:b,toId:a,kind:"DEPENDS"}).catch(()=>{}))}}for(let a of g){if(!a.bugs?.length)continue;let b=l.get(a.title.toLowerCase());if(b)for(let c of a.bugs)await h.db.query.bugFlag.findFirst({where:(a,{and:d,eq:e,isNull:f})=>d(e(a.nodeId,b),e(a.note,c.note),f(a.resolvedAt))})||await h.db.insert(i.bugFlag).values({nodeId:b,by:"agent",note:c.note})}return g.length}async function I(a){let b=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),c=a.id?b.find(b=>b.id===a.id):void 0;if(!c&&a.title){let{best:d,candidates:e}=(0,l.mk)(a.title,b.map(a=>({id:a.id,title:a.title})));if(d)c=b.find(a=>a.id===d.id);else if(e.length)return{ok:!1,candidates:e}}if(!c)return{ok:!1};await h.db.update(i.node).set({plain:a.description,status:"DONE"}).where((0,f.eq)(i.node.id,c.id));let d=await C(c.id);if(await B(c.id),await (0,k.q)(),a.files?.length)for(let b of Array.from(new Set(a.files.map(G).filter(Boolean))))await h.db.insert(i.nodeFile).values({nodeId:c.id,path:b}).onConflictDoNothing({target:[i.nodeFile.nodeId,i.nodeFile.path]});return await h.db.update(i.appSetting).set({currentFeatureId:null}).where((0,f.eq)(i.appSetting.currentFeatureId,c.id)),a.architecture?.length&&await H(a.architecture),await (0,j.Bx)(),{ok:!0,id:c.id,subtasksCompleted:d.completed||void 0,subtasksBlocked:d.blocked.length?d.blocked:void 0}}async function J(a){let b=[];for(let c of a){let a=await I(c);b.push({...a,title:c.title})}return{results:b}}async function K(a){let b=Array.from(new Set((a.files??[]).map(G).filter(Boolean))),c=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),d=a.id?c.find(b=>b.id===a.id):void 0;if(!d&&a.title){let{best:b,candidates:e}=(0,l.mk)(a.title,c.map(a=>({id:a.id,title:a.title})));if(b)d=c.find(a=>a.id===b.id);else if(e.length)return{ok:!1,candidates:e}}if(!d)return{ok:!1};for(let a of b)await h.db.insert(i.nodeFile).values({nodeId:d.id,path:a}).onConflictDoNothing({target:[i.nodeFile.nodeId,i.nodeFile.path]});await (0,j.Bx)();let e=(await h.db.select({n:(0,g.U9)()}).from(i.nodeFile).where((0,f.eq)(i.nodeFile.nodeId,d.id)))[0].n;return{ok:!0,id:d.id,count:e}}async function L(a){let b,c=a.items.filter(a=>a.title.trim());if(!c.length)return{ok:!1,reason:"no_items"};if(a.parentId)b=await h.db.query.node.findFirst({where:(b,{eq:c})=>c(b.id,a.parentId)});else if(a.parentTitle&&a.parentTitle.trim()){let c=await h.db.query.node.findMany({where:(a,{isNull:b})=>b(a.parentId),columns:{id:!0,title:!0,cluster:!0,status:!0}}),{best:d,candidates:e}=(0,l.mk)(a.parentTitle.trim(),c.map(a=>({id:a.id,title:a.title,cluster:a.cluster,status:a.status})));if(d)b=await h.db.query.node.findFirst({where:(a,{eq:b})=>b(a.id,d.id)});else if(e.length)return{ok:!1,reason:"ambiguous",candidates:e}}if(!b)return{ok:!1,reason:"parent_not_found"};let d=b,e=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.parentId,d.id),columns:{id:!0,title:!0}}),f=c.filter(a=>(0,l.mk)(a.title.trim(),e).best);if(f.length)return{ok:!1,reason:"duplicate",message:`⛔ These sub-tasks already exist under "${d.title}": ${f.map(a=>`"${a.title.trim()}"`).join(", ")}. Drop the duplicates — only add genuinely new sub-tasks.`};let g=(await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,d.view),columns:{x:!0,y:!0}})).map(a=>({x:a.x,y:a.y})),i=[];for(let a=0;a<c.length;a++){let b=c[a],e=(0,p.B)(g,{x:d.x+240*a,y:d.y+200});g.push(e);let f=await (0,u.RM)({view:d.view,kind:b.kind?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",title:b.title.trim(),plain:b.plain??null,cluster:d.cluster??null,layer:(0,n.jR)(b.layer)??(0,n.jR)(d.layer),parentId:d.id,x:e.x,y:e.y});i.push({id:f.id,title:f.title})}return i.length&&await B(i[0].id),await (0,j.Bx)(),{ok:!0,parent:{id:d.id,title:d.title},created:i}}d()}catch(a){d(a)}})},71584:(a,b,c)=>{function d(a,b){let c={x:b.x,y:b.y};for(let b=0;b<100&&a.some(a=>200>Math.abs(c.x-a.x)&&150>Math.abs(c.y-a.y));b++)c.y+=150;return c}function e(a,b,c={}){let f=c.colW??320,g=c.rowH??150,h=c.maxCols??4,i=c.bandGap??90;if(0===a.length){if(0===b.length)return{x:0,y:0};let a=Math.max(...b.map(a=>a.y));return d(b,{x:0,y:a+g+i})}let j=Math.min(...a.map(a=>a.x)),k=Math.min(...a.map(a=>a.y)),l=a.map(a=>Math.max(0,Math.round((a.x-j)/f))),m=Math.min(h,Math.max(Math.max(...l)+1,Math.ceil(Math.sqrt(a.length+1)))),n=Array(m).fill(k-g);a.forEach((a,b)=>{let c=Math.min(l[b],m-1);n[c]=Math.max(n[c],a.y)});let o=0;for(let a=1;a<m;a++)n[a]<n[o]&&(o=a);return d(b,{x:j+o*f,y:n[o]+g})}c.d(b,{B:()=>d,E:()=>e})},76223:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Z:()=>i,t:()=>h});var e=c(56727),f=c(30046),g=a([e]);async function h(a=e.db){let[b]=await a.insert(f.appSetting).values({id:"singleton"}).onConflictDoUpdate({target:f.appSetting.id,set:{id:"singleton"}}).returning();return b}async function i(a,b=e.db){let[c]=await b.insert(f.appSetting).values({id:"singleton",...a}).onConflictDoUpdate({target:f.appSetting.id,set:a}).returning();return c}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},89908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>n,B2:()=>q,CB:()=>r,OK:()=>m,Qd:()=>l,RM:()=>k,jO:()=>o,k5:()=>p});var e=c(34216),f=c(56727),g=c(30046),h=c(70299),i=c(13560),j=a([f,h]);async function k(a){let b=i.gY.parse(a),c="ARCHITECTURE"===b.view?"REBUILD":"PENDING",[d]=await f.db.insert(g.node).values({...b.id?{id:b.id}:{},view:b.view,kind:b.kind??"FEATURE",title:b.title,cluster:b.cluster??null,layer:b.layer??null,role:b.role??null,plain:b.plain??null,parentId:b.parentId??null,status:b.status??c,priority:b.priority??2,x:b.x??0,y:b.y??0,sourceRef:b.sourceRef??null}).returning();return d}async function l(a){let b=i.hj.parse(a);if(b.fromId===b.toId)throw Error("Self-edge not allowed");let c=b.kind??"DEPENDS",d=await f.db.query.edge.findFirst({where:(a,{and:d,eq:e})=>d(e(a.fromId,b.fromId),e(a.toId,b.toId),e(a.kind,c))});if(d)return d;let[e]=await f.db.insert(g.edge).values({fromId:b.fromId,toId:b.toId,kind:c,label:b.label??null,sourceHandle:b.sourceHandle??null,targetHandle:b.targetHandle??null}).returning();return e}async function m(a,b){let c=i.$Y.parse(b),[d]=await f.db.update(g.node).set(c).where((0,e.eq)(g.node.id,a)).returning();return void 0!==c.status&&await (0,h.Nh)(a),d}async function n(a){let[b]=await f.db.delete(g.node).where((0,e.eq)(g.node.id,a)).returning();return b}async function o(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.node).set(d).where((0,e.eq)(g.node.id,a)).returning();return h}async function p(a){return await Promise.all(a.map(a=>{let b=i.tI.parse({x:a.x,y:a.y});return f.db.update(g.node).set(b).where((0,e.eq)(g.node.id,a.id))})),a.length}async function q(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.dbTable).set(d).where((0,e.eq)(g.dbTable.id,a)).returning();return h}async function r(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.endpoint).set(d).where((0,e.eq)(g.endpoint.id,a)).returning();return h}[f,h]=j.then?(await j)():j,d()}catch(a){d(a)}})}};
@@ -0,0 +1,18 @@
1
+ "use strict";exports.id=1495,exports.ids=[1495],exports.modules={8216:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{db:()=>e.db});var e=c(56727),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},8524:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A:()=>i,U:()=>j});var e=c(34216),f=c(8216),g=c(30046),h=a([f]);f=(h.then?(await h)():h)[0];let l="linear";async function i(){let a=await f.db.query.workspaceFlag.findFirst({where:(0,e.eq)(g.workspaceFlag.key,l)});return a?{enabled:a.enabled,config:a.config?JSON.parse(a.config):null}:{enabled:!1,config:null}}let m=Promise.resolve();function j(a){let b=m.then(()=>k(a),()=>k(a));return m=b.catch(()=>{}),b}async function k(a){let b=await i(),c=a.enabled??b.enabled,d={...b.config??{},...a.config??{}},h=JSON.stringify(d);return await f.db.query.workspaceFlag.findFirst({where:(0,e.eq)(g.workspaceFlag.key,l)})?await f.db.update(g.workspaceFlag).set({enabled:c,config:h}).where((0,e.eq)(g.workspaceFlag.key,l)):await f.db.insert(g.workspaceFlag).values({key:l,enabled:c,config:h}),{enabled:c,config:d}}d()}catch(a){d(a)}})},19225:(a,b,c)=>{a.exports=c(44870)},31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},31257:(a,b,c)=>{c.r(b),c.d(b,{ISSUE_FIELDS:()=>d,buildIssueFilter:()=>l,fetchScopedOpenIssues:()=>m,flattenIssue:()=>e,listScopes:()=>j,resolveStateMap:()=>k,resolveViewerAndOrg:()=>g,updateIssue:()=>n});let d=`
2
+ id identifier url title description updatedAt priority
3
+ state { name color type }
4
+ labels { nodes { name } }
5
+ parent { id }
6
+ team { id key name }
7
+ project { id name }
8
+ projectMilestone { id name }
9
+ assignee { id name avatarUrl }
10
+ `;function e(a){return{id:a.id,identifier:a.identifier,url:a.url,title:a.title,description:a.description,updatedAt:Date.parse(a.updatedAt),priority:a.priority,stateType:a.state.type,stateName:a.state.name,stateColor:a.state.color,labels:a.labels.nodes.map(a=>a.name),parentId:a.parent?.id??null,teamId:a.team.id,teamKey:a.team.key,teamName:a.team.name,projectId:a.project?.id??null,projectName:a.project?.name??null,milestoneId:a.projectMilestone?.id??null,milestoneName:a.projectMilestone?.name??null,assigneeName:a.assignee?.name??null,assigneeAvatarUrl:a.assignee?.avatarUrl??null}}async function f(a,b,c={}){let d=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"content-type":"application/json",authorization:a},body:JSON.stringify({query:b,variables:c}),signal:AbortSignal.timeout(15e3)});if(!d.ok)throw Error(`Linear API ${d.status}`);let e=await d.json();if(e.errors?.length)throw Error(`Linear GraphQL: ${e.errors.map(a=>a.message).join("; ")}`);if(!e.data)throw Error("Linear GraphQL: empty response");return e.data}async function g(a){let b=await f(a,"query { viewer { id name } organization { name urlKey } }");return{viewerId:b.viewer.id,viewerName:b.viewer.name,orgName:b.organization.name,orgUrlKey:b.organization.urlKey}}async function h(a,b){let c,d=[];for(let e=0;e<50;e++){let e=await f(a,`query($after: String) { ${b}(first: 250, after: $after) { nodes { id name } pageInfo { hasNextPage endCursor } } }`,{after:c});if(d.push(...e[b].nodes),!e[b].pageInfo.hasNextPage)break;c=e[b].pageInfo.endCursor}return d}async function i(a){let b,c=[];for(let d=0;d<50;d++){let d=await f(a,"query($after: String) { projectMilestones(first: 250, after: $after) { nodes { id name project { name } } pageInfo { hasNextPage endCursor } } }",{after:b});if(c.push(...d.projectMilestones.nodes.map(a=>({id:a.id,name:a.name,projectName:a.project.name}))),!d.projectMilestones.pageInfo.hasNextPage)break;b=d.projectMilestones.pageInfo.endCursor}return c}async function j(a){let[b,c,d]=await Promise.all([h(a,"teams"),h(a,"projects"),i(a)]);return[...b.map(a=>({kind:"team",id:a.id,name:a.name})),...c.map(a=>({kind:"project",id:a.id,name:a.name})),...d.map(a=>({kind:"milestone",id:a.id,name:a.name,projectName:a.projectName}))]}async function k(a,b){let c=await f(a,"query($teamId: String!) { team(id: $teamId) { states { nodes { id type } } } }",{teamId:b}),d=a=>c.team.states.nodes.find(b=>b.type===a)?.id,e={},g=d("completed"),h=d("canceled"),i=d("started"),j=d("unstarted")??d("backlog");return g&&(e.DONE=g),h&&(e.CANCELLED=h),i&&(e.IN_PROGRESS=i),j&&(e.PENDING=j),i&&(e.BLOCKED=i),e}function l(a,b){let c={state:{type:{nin:["completed","canceled"]}}};if(b&&(c.assignee={id:{eq:b}}),!a.some(a=>"workspace"===a.kind)){let b=b=>a.filter(a=>a.kind===b).map(a=>a.id),d=b("team"),e=b("project"),f=b("milestone"),g=[];d.length&&g.push({team:{id:{in:d}}}),e.length&&g.push({project:{id:{in:e}}}),f.length&&g.push({projectMilestone:{id:{in:f}}}),g.length&&(c.or=g)}return c}async function m(a,b,c={}){let g,h=l(b,c.onlyMineViewerId),i=`
11
+ query($filter: IssueFilter, $after: String) {
12
+ issues(filter: $filter, first: 100, after: $after) {
13
+ nodes { ${d} }
14
+ pageInfo { hasNextPage endCursor }
15
+ }
16
+ }`,j=[];for(let b=0;b<500;b++){let b=await f(a,i,{filter:h,after:g});if(j.push(...b.issues.nodes.map(e)),!b.issues.pageInfo.hasNextPage)return{issues:j,complete:!0};g=b.issues.pageInfo.endCursor}return console.warn("[beacon-linear] scoped issue set exceeded 500 pages; skipping removals this pass"),{issues:j,complete:!1}}async function n(a,b,c){return Date.parse((await f(a,`mutation($id: String!, $input: IssueUpdateInput!) {
17
+ issueUpdate(id: $id, input: $input) { success issue { updatedAt } }
18
+ }`,{id:b,input:c})).issueUpdate.issue.updatedAt)}},68204:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{d:()=>i});var e=c(6716),f=c(56727),g=a([f]);async function h(a){if(a)return void await (0,e.kO)(a);let b=(0,e.UP)();b?await (0,e.kO)(b):await (0,f.e$)()}function i(a){return async(b,...c)=>{let d=await (0,e.AV)(b);return await h(d),(0,e.X_)(d,async()=>a(b,...c))}}f=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};