hex-audit 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/CLAUDE.md +137 -77
  2. package/DEMO.md +40 -117
  3. package/README.md +200 -402
  4. package/dashboard/.next/BUILD_ID +1 -1
  5. package/dashboard/.next/app-build-manifest.json +56 -101
  6. package/dashboard/.next/app-path-routes-manifest.json +1 -1
  7. package/dashboard/.next/build-manifest.json +9 -9
  8. package/dashboard/.next/next-server.js.nft.json +1 -1
  9. package/dashboard/.next/prerender-manifest.json +1 -1
  10. package/dashboard/.next/react-loadable-manifest.json +436 -15
  11. package/dashboard/.next/routes-manifest.json +1 -1
  12. package/dashboard/.next/server/app/_not-found/page.js +1 -1
  13. package/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/dashboard/.next/server/app/api/code/route.js +1 -1
  16. package/dashboard/.next/server/app/api/code/route.js.nft.json +1 -1
  17. package/dashboard/.next/server/app/api/comments/route.js +1 -0
  18. package/dashboard/.next/server/app/api/comments/route.js.nft.json +1 -0
  19. package/dashboard/.next/server/app/api/diagrams/[name]/export/route.js +1 -0
  20. package/dashboard/.next/server/app/api/diagrams/[name]/export/route.js.nft.json +1 -0
  21. package/dashboard/.next/server/app/api/diagrams/[name]/resolve/route.js +1 -0
  22. package/dashboard/.next/server/app/api/diagrams/[name]/resolve/route.js.nft.json +1 -0
  23. package/dashboard/.next/server/app/api/diagrams/[name]/route.js +1 -0
  24. package/dashboard/.next/server/app/api/diagrams/[name]/route.js.nft.json +1 -0
  25. package/dashboard/.next/server/app/api/figures/[name]/route.js +1 -0
  26. package/dashboard/.next/server/app/api/figures/[name]/route.js.nft.json +1 -0
  27. package/dashboard/.next/server/app/api/focus/route.js +1 -0
  28. package/dashboard/.next/server/app/api/focus/route.js.nft.json +1 -0
  29. package/dashboard/.next/server/app/api/github-status/route.js +1 -1
  30. package/dashboard/.next/server/app/api/invariants/[id]/route.js +1 -0
  31. package/dashboard/.next/server/app/api/invariants/[id]/route.js.nft.json +1 -0
  32. package/dashboard/.next/server/app/api/issues/[id]/revert-auto/route.js +1 -0
  33. package/dashboard/.next/server/app/api/issues/[id]/revert-auto/route.js.nft.json +1 -0
  34. package/dashboard/.next/server/app/api/nav/route.js +1 -0
  35. package/dashboard/.next/server/app/api/nav/route.js.nft.json +1 -0
  36. package/dashboard/.next/server/app/api/notes/done/route.js +1 -1
  37. package/dashboard/.next/server/app/api/notes/done/route.js.nft.json +1 -1
  38. package/dashboard/.next/server/app/api/notes/lead/route.js +1 -1
  39. package/dashboard/.next/server/app/api/notes/lead/route.js.nft.json +1 -1
  40. package/dashboard/.next/server/app/api/notes/question/route.js +1 -1
  41. package/dashboard/.next/server/app/api/notes/question/route.js.nft.json +1 -1
  42. package/dashboard/.next/server/app/api/notes/record/route.js +3 -3
  43. package/dashboard/.next/server/app/api/notes/route.js +2 -2
  44. package/dashboard/.next/server/app/api/palette/route.js +1 -0
  45. package/dashboard/.next/server/app/api/palette/route.js.nft.json +1 -0
  46. package/dashboard/.next/server/app/api/progress/route.js +1 -1
  47. package/dashboard/.next/server/app/api/progress/route.js.nft.json +1 -1
  48. package/dashboard/.next/server/app/api/watch/route.js +2 -2
  49. package/dashboard/.next/server/app/api/watch/route.js.nft.json +1 -1
  50. package/dashboard/.next/server/app/api/xref/route.js +1 -0
  51. package/dashboard/.next/server/app/changes/page.js +1 -20
  52. package/dashboard/.next/server/app/changes/page.js.nft.json +1 -1
  53. package/dashboard/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  54. package/dashboard/.next/server/app/excalidraw-assets/[...path]/route.js +1 -0
  55. package/dashboard/.next/server/app/issues/page.js +5 -28
  56. package/dashboard/.next/server/app/issues/page.js.nft.json +1 -1
  57. package/dashboard/.next/server/app/issues/page_client-reference-manifest.js +1 -1
  58. package/dashboard/.next/server/app/model/page.js +1 -0
  59. package/dashboard/.next/server/app/{calls → model}/page.js.nft.json +1 -1
  60. package/dashboard/.next/server/app/model/page_client-reference-manifest.js +1 -0
  61. package/dashboard/.next/server/app/page.js +1 -20
  62. package/dashboard/.next/server/app/page.js.nft.json +1 -1
  63. package/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  64. package/dashboard/.next/server/app/report/page.js +1 -1
  65. package/dashboard/.next/server/app/report/page.js.nft.json +1 -1
  66. package/dashboard/.next/server/app/report/page_client-reference-manifest.js +1 -1
  67. package/dashboard/.next/server/app/review/page.js +1 -0
  68. package/dashboard/.next/server/app/{access → review}/page.js.nft.json +1 -1
  69. package/dashboard/.next/server/app/review/page_client-reference-manifest.js +1 -0
  70. package/dashboard/.next/server/app-paths-manifest.json +19 -16
  71. package/dashboard/.next/server/chunks/310.js +4 -0
  72. package/dashboard/.next/server/chunks/370.js +1 -0
  73. package/dashboard/.next/server/chunks/42.js +1 -1
  74. package/dashboard/.next/server/chunks/624.js +14 -0
  75. package/dashboard/.next/server/chunks/645.js +1 -1
  76. package/dashboard/.next/server/chunks/649.js +1 -1
  77. package/dashboard/.next/server/chunks/653.js +1 -0
  78. package/dashboard/.next/server/functions-config-manifest.json +1 -1
  79. package/dashboard/.next/server/middleware-build-manifest.js +1 -1
  80. package/dashboard/.next/server/middleware-react-loadable-manifest.js +1 -1
  81. package/dashboard/.next/server/pages/500.html +1 -1
  82. package/dashboard/.next/server/pages/_error.js +1 -1
  83. package/dashboard/.next/server/server-reference-manifest.js +1 -1
  84. package/dashboard/.next/server/server-reference-manifest.json +1 -1
  85. package/dashboard/.next/static/chunks/0bbe10ee.8e7ffa06d2170dfe.js +84 -0
  86. package/dashboard/.next/static/chunks/1026.0ef689a305302427.js +1 -0
  87. package/dashboard/.next/static/chunks/1164.34eb76767ebea46f.js +8 -0
  88. package/dashboard/.next/static/chunks/119.a9a79633900a235f.js +5 -0
  89. package/dashboard/.next/static/chunks/1291.6c486c9b1d4b1b3a.js +1 -0
  90. package/dashboard/.next/static/chunks/139.4691848fc5a46253.js +10 -0
  91. package/dashboard/.next/static/chunks/145.1bf74fecdb4022e3.js +11 -0
  92. package/dashboard/.next/static/chunks/1517.8e7075f78e22b3a0.js +8 -0
  93. package/dashboard/.next/static/chunks/165.6f174060a0ce2db4.js +6 -0
  94. package/dashboard/.next/static/chunks/1741.5c370b7702d2eb40.js +8 -0
  95. package/dashboard/.next/static/chunks/1e36816c.5748c83adc8a6bd6.js +108 -0
  96. package/dashboard/.next/static/chunks/2061.eab75b3c1dfa068a.js +1 -0
  97. package/dashboard/.next/static/chunks/2148.3ce718f62d1b2f7c.js +10 -0
  98. package/dashboard/.next/static/chunks/217-1d5b680ffd10e3f9.js +1 -0
  99. package/dashboard/.next/static/chunks/2208.fb884379aa3ae968.js +1 -0
  100. package/dashboard/.next/static/chunks/2276.112c7855333fca5f.js +6 -0
  101. package/dashboard/.next/static/chunks/2374-8c6f137938f8518a.js +1 -0
  102. package/dashboard/.next/static/chunks/2445.18a86507d2996b95.js +1 -0
  103. package/dashboard/.next/static/chunks/2712.15dd8577973baf22.js +10 -0
  104. package/dashboard/.next/static/chunks/2759.533dec5317e0a1d1.js +1 -0
  105. package/dashboard/.next/static/chunks/2812.62b213bef580b69a.js +1 -0
  106. package/dashboard/.next/static/chunks/2895.bb57cacb7aaf42a1.js +9 -0
  107. package/dashboard/.next/static/chunks/2972.e5a9251b538dcf19.js +9 -0
  108. package/dashboard/.next/static/chunks/3206.8d9a10db2b04b93f.js +1 -0
  109. package/dashboard/.next/static/chunks/3485.36766504793b7237.js +9 -0
  110. package/dashboard/.next/static/chunks/3725.de9376dc994735d4.js +9 -0
  111. package/dashboard/.next/static/chunks/3774.1df377928e8387f7.js +9 -0
  112. package/dashboard/.next/static/chunks/3963.39d72b3875dfe2e9.js +13 -0
  113. package/dashboard/.next/static/chunks/4013.73884b23bfaebdde.js +11 -0
  114. package/dashboard/.next/static/chunks/4117.278aff1fa23fd36e.js +6 -0
  115. package/dashboard/.next/static/chunks/4210.cc8594110017c579.js +11 -0
  116. package/dashboard/.next/static/chunks/4282.28485875540886cc.js +7 -0
  117. package/dashboard/.next/static/chunks/4318.a2f469a88d88f6d0.js +8 -0
  118. package/dashboard/.next/static/chunks/4363.8999a6e727c48003.js +1 -0
  119. package/dashboard/.next/static/chunks/4641.e03d118fffebd580.js +5 -0
  120. package/dashboard/.next/static/chunks/483.a910dab7734a1074.js +8 -0
  121. package/dashboard/.next/static/chunks/4926.76693f542e9cc062.js +6 -0
  122. package/dashboard/.next/static/chunks/4938.03f6d04dabf38745.js +10 -0
  123. package/dashboard/.next/static/chunks/5112.0757c2b0c285e62e.js +1 -0
  124. package/dashboard/.next/static/chunks/5199.c83ea7efb0eec705.js +11 -0
  125. package/dashboard/.next/static/chunks/530.849957a8907eb288.js +1 -0
  126. package/dashboard/.next/static/chunks/5424.4e8ca0711a32bccf.js +7 -0
  127. package/dashboard/.next/static/chunks/55.a593a78be9714679.js +1 -0
  128. package/dashboard/.next/static/chunks/5535.6cd0bd8d368d8902.js +4 -0
  129. package/dashboard/.next/static/chunks/5626.7d4e93d7acbeffc9.js +10 -0
  130. package/dashboard/.next/static/chunks/5775.a0d7c1b1e89b9a93.js +9 -0
  131. package/dashboard/.next/static/chunks/6118.266956b3333b1d7a.js +9 -0
  132. package/dashboard/.next/static/chunks/6121.a2e6d93720b1205e.js +77 -0
  133. package/dashboard/.next/static/chunks/6853.d3ad43614e8ca0ab.js +1 -0
  134. package/dashboard/.next/static/chunks/6951.02a3a158d02158c9.js +5 -0
  135. package/dashboard/.next/static/chunks/6970.013f24568c87d918.js +11 -0
  136. package/dashboard/.next/static/chunks/7013.39d41e82b37be63b.js +9 -0
  137. package/dashboard/.next/static/chunks/7107.1c5412197912b8ed.js +8 -0
  138. package/dashboard/.next/static/chunks/7508.dd60e2d06d149f5f.js +9 -0
  139. package/dashboard/.next/static/chunks/7524.0fde4c61553d1491.js +3 -0
  140. package/dashboard/.next/static/chunks/7834-47f318a04a05688f.js +1 -0
  141. package/dashboard/.next/static/chunks/8317.d0b3eddef4cae0d5.js +1 -0
  142. package/dashboard/.next/static/chunks/838.2b2aa006519ba44c.js +10 -0
  143. package/dashboard/.next/static/chunks/8398.924fd8f4c83417c0.js +7 -0
  144. package/dashboard/.next/static/chunks/8428b36f.8ac4e67061c01307.js +34 -0
  145. package/dashboard/.next/static/chunks/8514.85ccbbea8ab21d04.js +5 -0
  146. package/dashboard/.next/static/chunks/8538.5f7ebe76c4b63162.js +1 -0
  147. package/dashboard/.next/static/chunks/8687.9406baa8b5601fd0.js +1 -0
  148. package/dashboard/.next/static/chunks/8721.47346e2cb6412376.js +10 -0
  149. package/dashboard/.next/static/chunks/8770.4f544bd1a6f03a62.js +8 -0
  150. package/dashboard/.next/static/chunks/8812.3d96fd54dba566f8.js +9 -0
  151. package/dashboard/.next/static/chunks/8962.d22aa67a97970dd8.js +1 -0
  152. package/dashboard/.next/static/chunks/8986.b327224b83f4399a.js +5 -0
  153. package/dashboard/.next/static/chunks/9271.5f66c19a8ee1ff36.js +10 -0
  154. package/dashboard/.next/static/chunks/9282.f8d01442bab4c0da.js +2 -0
  155. package/dashboard/.next/static/chunks/9366.0ec24a0791b9b00f.js +1 -0
  156. package/dashboard/.next/static/chunks/9707.5cd7d2ee933a4af5.js +6 -0
  157. package/dashboard/.next/static/chunks/9716.15fffc0b0038601d.js +4 -0
  158. package/dashboard/.next/static/chunks/9791.e3b3f5a367f63c8a.js +1 -0
  159. package/dashboard/.next/static/chunks/9820.8c1efad5260e8137.js +1 -0
  160. package/dashboard/.next/static/chunks/985.50150e9eaa4bde33.js +39 -0
  161. package/dashboard/.next/static/chunks/997.56901b86e1b8a87b.js +8 -0
  162. package/dashboard/.next/static/chunks/app/changes/page-f8a860034221cad4.js +1 -0
  163. package/dashboard/.next/static/chunks/app/issues/page-da4da93188c414a6.js +1 -0
  164. package/dashboard/.next/static/chunks/app/layout-27a9da4610423c1e.js +1 -0
  165. package/dashboard/.next/static/chunks/app/model/page-9680e22fdd6ddb81.js +1 -0
  166. package/dashboard/.next/static/chunks/app/page-0e67750d99fb2836.js +1 -0
  167. package/dashboard/.next/static/chunks/app/report/page-b56b1db9b9dcf2b6.js +1 -0
  168. package/dashboard/.next/static/chunks/app/review/page-3ef69f0e0badd333.js +1 -0
  169. package/dashboard/.next/static/chunks/c75e29e3.d91220f782934d80.js +1 -0
  170. package/dashboard/.next/static/chunks/{main-cc3a889b25e9aa68.js → main-9c95a7ffedc7afb4.js} +1 -1
  171. package/dashboard/.next/static/chunks/webpack-6da70e4f9fcf1799.js +1 -0
  172. package/dashboard/.next/static/css/ceafd91ca8dd753d.css +3 -0
  173. package/dashboard/.next/static/css/e4aad1f9c715b79a.css +1 -0
  174. package/dashboard/.next/static/media/Assistant-Bold.c8f39f24.woff2 +0 -0
  175. package/dashboard/.next/static/media/Assistant-Medium.1e75d8e6.woff2 +0 -0
  176. package/dashboard/.next/static/media/Assistant-Regular.7acbabb8.woff2 +0 -0
  177. package/dashboard/.next/static/media/Assistant-SemiBold.167acbf8.woff2 +0 -0
  178. package/dashboard/app/api/code/route.ts +26 -20
  179. package/dashboard/app/api/comments/route.ts +158 -0
  180. package/dashboard/app/api/diagrams/[name]/export/route.ts +26 -0
  181. package/dashboard/app/api/diagrams/[name]/resolve/route.ts +25 -0
  182. package/dashboard/app/api/diagrams/[name]/route.ts +37 -0
  183. package/dashboard/app/api/figures/[name]/route.ts +15 -0
  184. package/dashboard/app/api/focus/route.ts +35 -0
  185. package/dashboard/app/api/invariants/[id]/route.ts +35 -0
  186. package/dashboard/app/api/issues/[id]/revert-auto/route.ts +18 -0
  187. package/dashboard/app/api/nav/route.ts +120 -0
  188. package/dashboard/app/api/palette/route.ts +68 -0
  189. package/dashboard/app/api/progress/route.ts +54 -23
  190. package/dashboard/app/api/xref/route.ts +30 -0
  191. package/dashboard/app/changes/ChangesClient.tsx +730 -356
  192. package/dashboard/app/changes/page.tsx +27 -19
  193. package/dashboard/app/excalidraw-assets/[...path]/route.ts +56 -0
  194. package/dashboard/app/globals.css +231 -77
  195. package/dashboard/app/issues/BoardClient.tsx +817 -0
  196. package/dashboard/app/issues/page.tsx +27 -272
  197. package/dashboard/app/layout.tsx +32 -17
  198. package/dashboard/app/model/ModelClient.tsx +1303 -0
  199. package/dashboard/app/model/page.tsx +98 -0
  200. package/dashboard/app/page.tsx +191 -277
  201. package/dashboard/app/report/ReportClient.tsx +147 -74
  202. package/dashboard/app/report/page.tsx +25 -14
  203. package/dashboard/app/review/ReviewClient.tsx +1180 -0
  204. package/dashboard/app/review/page.tsx +93 -0
  205. package/dashboard/components/AutoRefresh.tsx +22 -19
  206. package/dashboard/components/CodeComments.tsx +303 -0
  207. package/dashboard/components/CodeNav.tsx +523 -0
  208. package/dashboard/components/CodeReference.tsx +92 -99
  209. package/dashboard/components/CodeViewer.tsx +526 -0
  210. package/dashboard/components/CommandPalette.tsx +141 -66
  211. package/dashboard/components/DiagramCanvas.tsx +275 -0
  212. package/dashboard/components/DianeNote.tsx +244 -0
  213. package/dashboard/components/LiveStatus.tsx +30 -68
  214. package/dashboard/components/MarkdownRenderer.tsx +34 -32
  215. package/dashboard/components/RecordButton.tsx +132 -0
  216. package/dashboard/components/ui/Button.tsx +39 -0
  217. package/dashboard/components/ui/Chip.tsx +37 -0
  218. package/dashboard/components/ui/EmptyState.tsx +31 -0
  219. package/dashboard/components/ui/Icons.tsx +126 -0
  220. package/dashboard/components/ui/Inspector.tsx +122 -0
  221. package/dashboard/components/ui/Kbd.tsx +15 -0
  222. package/dashboard/components/ui/ListRow.tsx +92 -0
  223. package/dashboard/components/ui/LocalTime.tsx +14 -0
  224. package/dashboard/components/ui/ProgressRing.tsx +54 -0
  225. package/dashboard/components/ui/ResizeHandle.tsx +93 -0
  226. package/dashboard/components/ui/RiskMeter.tsx +27 -0
  227. package/dashboard/components/ui/SearchField.tsx +55 -0
  228. package/dashboard/components/ui/SegmentedControl.tsx +71 -0
  229. package/dashboard/components/ui/SeverityDot.tsx +57 -0
  230. package/dashboard/components/ui/Sidebar.tsx +236 -0
  231. package/dashboard/components/ui/SplitView.tsx +122 -0
  232. package/dashboard/components/ui/StateGlyph.tsx +66 -0
  233. package/dashboard/components/ui/Toast.tsx +91 -0
  234. package/dashboard/lib/api.ts +17 -0
  235. package/dashboard/lib/cn.ts +4 -0
  236. package/dashboard/lib/data.ts +2 -21
  237. package/dashboard/lib/finding-markdown.ts +1 -1
  238. package/dashboard/lib/focus.ts +42 -0
  239. package/dashboard/lib/hotkeys.ts +41 -0
  240. package/dashboard/lib/inline-markdown.test.ts +11 -0
  241. package/dashboard/lib/live.ts +32 -0
  242. package/dashboard/lib/pane-width.ts +36 -0
  243. package/dashboard/lib/server/board.ts +229 -0
  244. package/dashboard/lib/server/diagrams.ts +191 -0
  245. package/dashboard/lib/server/safe-path.ts +28 -0
  246. package/dashboard/lib/server/workspace.ts +113 -0
  247. package/dashboard/lib/server/xref.ts +42 -0
  248. package/dashboard/lib/solidity.test.ts +37 -0
  249. package/dashboard/lib/solidity.ts +191 -0
  250. package/dashboard/lib/source.ts +28 -0
  251. package/dashboard/lib/types.ts +164 -0
  252. package/dashboard/lib/url.ts +18 -0
  253. package/dashboard/lib/watcher.ts +31 -22
  254. package/dashboard/tailwind.config.ts +6 -3
  255. package/dist/analysis/code-model.d.ts.map +1 -1
  256. package/dist/analysis/code-model.js +4 -1
  257. package/dist/analysis/code-model.js.map +1 -1
  258. package/dist/analysis/diff.d.ts +12 -1
  259. package/dist/analysis/diff.d.ts.map +1 -1
  260. package/dist/analysis/diff.js +143 -0
  261. package/dist/analysis/diff.js.map +1 -1
  262. package/dist/commands/analyze.d.ts.map +1 -1
  263. package/dist/commands/analyze.js +17 -48
  264. package/dist/commands/analyze.js.map +1 -1
  265. package/dist/commands/claude.d.ts.map +1 -1
  266. package/dist/commands/claude.js +5 -0
  267. package/dist/commands/claude.js.map +1 -1
  268. package/dist/commands/dashboard.d.ts.map +1 -1
  269. package/dist/commands/dashboard.js +10 -2
  270. package/dist/commands/dashboard.js.map +1 -1
  271. package/dist/commands/diagram.d.ts +3 -0
  272. package/dist/commands/diagram.d.ts.map +1 -0
  273. package/dist/commands/diagram.js +71 -0
  274. package/dist/commands/diagram.js.map +1 -0
  275. package/dist/commands/diff.d.ts +4 -5
  276. package/dist/commands/diff.d.ts.map +1 -1
  277. package/dist/commands/diff.js +56 -17
  278. package/dist/commands/diff.js.map +1 -1
  279. package/dist/commands/doctor.d.ts.map +1 -1
  280. package/dist/commands/doctor.js +5 -18
  281. package/dist/commands/doctor.js.map +1 -1
  282. package/dist/commands/facts.d.ts +23 -0
  283. package/dist/commands/facts.d.ts.map +1 -0
  284. package/dist/commands/facts.js +121 -0
  285. package/dist/commands/facts.js.map +1 -0
  286. package/dist/commands/fix-review.d.ts +9 -0
  287. package/dist/commands/fix-review.d.ts.map +1 -0
  288. package/dist/commands/fix-review.js +367 -0
  289. package/dist/commands/fix-review.js.map +1 -0
  290. package/dist/commands/init.d.ts.map +1 -1
  291. package/dist/commands/init.js +51 -47
  292. package/dist/commands/init.js.map +1 -1
  293. package/dist/commands/issue.d.ts.map +1 -1
  294. package/dist/commands/issue.js +151 -2
  295. package/dist/commands/issue.js.map +1 -1
  296. package/dist/commands/mcp.d.ts +3 -0
  297. package/dist/commands/mcp.d.ts.map +1 -0
  298. package/dist/commands/mcp.js +11 -0
  299. package/dist/commands/mcp.js.map +1 -0
  300. package/dist/commands/model.d.ts +4 -0
  301. package/dist/commands/model.d.ts.map +1 -0
  302. package/dist/commands/model.js +275 -0
  303. package/dist/commands/model.js.map +1 -0
  304. package/dist/commands/note.d.ts.map +1 -1
  305. package/dist/commands/note.js +31 -1
  306. package/dist/commands/note.js.map +1 -1
  307. package/dist/commands/review.d.ts +4 -0
  308. package/dist/commands/review.d.ts.map +1 -0
  309. package/dist/commands/review.js +164 -0
  310. package/dist/commands/review.js.map +1 -0
  311. package/dist/core/comments.d.ts +59 -0
  312. package/dist/core/comments.d.ts.map +1 -0
  313. package/dist/core/comments.js +263 -0
  314. package/dist/core/comments.js.map +1 -0
  315. package/dist/core/config.d.ts.map +1 -1
  316. package/dist/core/config.js +0 -1
  317. package/dist/core/config.js.map +1 -1
  318. package/dist/core/dedup.d.ts +56 -0
  319. package/dist/core/dedup.d.ts.map +1 -0
  320. package/dist/core/dedup.js +208 -0
  321. package/dist/core/dedup.js.map +1 -0
  322. package/dist/core/errors.d.ts +1 -1
  323. package/dist/core/errors.d.ts.map +1 -1
  324. package/dist/core/errors.js +0 -15
  325. package/dist/core/errors.js.map +1 -1
  326. package/dist/core/external-tools.d.ts +0 -14
  327. package/dist/core/external-tools.d.ts.map +1 -1
  328. package/dist/core/external-tools.js +2 -52
  329. package/dist/core/external-tools.js.map +1 -1
  330. package/dist/core/fix-review.d.ts +54 -0
  331. package/dist/core/fix-review.d.ts.map +1 -0
  332. package/dist/core/fix-review.js +98 -0
  333. package/dist/core/fix-review.js.map +1 -0
  334. package/dist/core/fuzz-sync.d.ts +93 -0
  335. package/dist/core/fuzz-sync.d.ts.map +1 -0
  336. package/dist/core/fuzz-sync.js +516 -0
  337. package/dist/core/fuzz-sync.js.map +1 -0
  338. package/dist/core/git.d.ts +7 -0
  339. package/dist/core/git.d.ts.map +1 -1
  340. package/dist/core/git.js +42 -0
  341. package/dist/core/git.js.map +1 -1
  342. package/dist/core/issues.d.ts +32 -1
  343. package/dist/core/issues.d.ts.map +1 -1
  344. package/dist/core/issues.js +135 -3
  345. package/dist/core/issues.js.map +1 -1
  346. package/dist/core/mcp-config.d.ts +12 -0
  347. package/dist/core/mcp-config.d.ts.map +1 -0
  348. package/dist/core/mcp-config.js +29 -0
  349. package/dist/core/mcp-config.js.map +1 -0
  350. package/dist/core/model.d.ts +38 -0
  351. package/dist/core/model.d.ts.map +1 -0
  352. package/dist/core/model.js +160 -0
  353. package/dist/core/model.js.map +1 -0
  354. package/dist/core/notes.d.ts +2 -0
  355. package/dist/core/notes.d.ts.map +1 -1
  356. package/dist/core/notes.js +13 -3
  357. package/dist/core/notes.js.map +1 -1
  358. package/dist/core/review.d.ts +47 -0
  359. package/dist/core/review.d.ts.map +1 -1
  360. package/dist/core/review.js +177 -1
  361. package/dist/core/review.js.map +1 -1
  362. package/dist/core/rules.d.ts +12 -0
  363. package/dist/core/rules.d.ts.map +1 -0
  364. package/dist/core/rules.js +66 -0
  365. package/dist/core/rules.js.map +1 -0
  366. package/dist/core/schema.d.ts +4817 -2245
  367. package/dist/core/schema.d.ts.map +1 -1
  368. package/dist/core/schema.js +452 -113
  369. package/dist/core/schema.js.map +1 -1
  370. package/dist/core/scope.d.ts +8 -0
  371. package/dist/core/scope.d.ts.map +1 -0
  372. package/dist/core/scope.js +18 -0
  373. package/dist/core/scope.js.map +1 -0
  374. package/dist/diagrams/build.d.ts +18 -0
  375. package/dist/diagrams/build.d.ts.map +1 -0
  376. package/dist/diagrams/build.js +135 -0
  377. package/dist/diagrams/build.js.map +1 -0
  378. package/dist/diagrams/excalidraw.d.ts +27 -0
  379. package/dist/diagrams/excalidraw.d.ts.map +1 -0
  380. package/dist/diagrams/excalidraw.js +219 -0
  381. package/dist/diagrams/excalidraw.js.map +1 -0
  382. package/dist/diagrams/layout.d.ts +48 -0
  383. package/dist/diagrams/layout.d.ts.map +1 -0
  384. package/dist/diagrams/layout.js +686 -0
  385. package/dist/diagrams/layout.js.map +1 -0
  386. package/dist/facts/build.d.ts +23 -0
  387. package/dist/facts/build.d.ts.map +1 -0
  388. package/dist/facts/build.js +112 -0
  389. package/dist/facts/build.js.map +1 -0
  390. package/dist/facts/extract.d.ts +53 -0
  391. package/dist/facts/extract.d.ts.map +1 -0
  392. package/dist/facts/extract.js +635 -0
  393. package/dist/facts/extract.js.map +1 -0
  394. package/dist/facts/fallback.d.ts +7 -0
  395. package/dist/facts/fallback.d.ts.map +1 -0
  396. package/dist/facts/fallback.js +156 -0
  397. package/dist/facts/fallback.js.map +1 -0
  398. package/dist/facts/implementations.d.ts +29 -0
  399. package/dist/facts/implementations.d.ts.map +1 -0
  400. package/dist/facts/implementations.js +43 -0
  401. package/dist/facts/implementations.js.map +1 -0
  402. package/dist/facts/query.d.ts +35 -0
  403. package/dist/facts/query.d.ts.map +1 -0
  404. package/dist/facts/query.js +157 -0
  405. package/dist/facts/query.js.map +1 -0
  406. package/dist/facts/xref.d.ts +53 -0
  407. package/dist/facts/xref.d.ts.map +1 -0
  408. package/dist/facts/xref.js +282 -0
  409. package/dist/facts/xref.js.map +1 -0
  410. package/dist/index.js +14 -16
  411. package/dist/index.js.map +1 -1
  412. package/dist/mcp/server.d.ts +3 -0
  413. package/dist/mcp/server.d.ts.map +1 -0
  414. package/dist/mcp/server.js +400 -0
  415. package/dist/mcp/server.js.map +1 -0
  416. package/dist/skills/ai-audit/SKILL.md +16 -6
  417. package/dist/skills/ai-audit/UPSTREAM.md +9 -4
  418. package/dist/skills/ai-audit/references/hex-board.md +34 -46
  419. package/dist/skills/diane.md +26 -12
  420. package/dist/skills/fix-review.md +58 -0
  421. package/dist/skills/fuzz/LICENSE +21 -0
  422. package/dist/skills/fuzz/SKILL.md +655 -0
  423. package/dist/skills/fuzz/UPSTREAM.md +119 -0
  424. package/dist/skills/fuzz/agents/implementers/global-property-implementer.md +81 -0
  425. package/dist/skills/fuzz/agents/implementers/specific-property-implementer.md +121 -0
  426. package/dist/skills/fuzz/agents/invariant-discovery/adversarial-profit-maximizer.md +123 -0
  427. package/dist/skills/fuzz/agents/invariant-discovery/conservation-auditor.md +92 -0
  428. package/dist/skills/fuzz/agents/invariant-discovery/protocol-type-specialist.md +173 -0
  429. package/dist/skills/fuzz/agents/invariant-discovery/roundtrip-rounding-analyst.md +164 -0
  430. package/dist/skills/fuzz/agents/invariant-discovery/state-transition-mapper.md +92 -0
  431. package/dist/skills/fuzz/agents/invariant-discovery/synthesizer.md +261 -0
  432. package/dist/skills/fuzz/agents/protocol-analyzer.md +80 -0
  433. package/dist/skills/fuzz/agents/report-writer.md +135 -0
  434. package/dist/skills/fuzz/references/handler-patterns.md +222 -0
  435. package/dist/skills/fuzz/references/hex-invariants.md +102 -0
  436. package/dist/skills/fuzz/references/property-generation.md +149 -0
  437. package/dist/skills/fuzz/references/selection-policy.md +49 -0
  438. package/dist/skills/fuzz/references/setup-playbook.md +92 -0
  439. package/dist/skills/fuzz/references/template-map.md +121 -0
  440. package/dist/skills/fuzz/scripts/ensure_foundry.sh +125 -0
  441. package/dist/skills/fuzz/scripts/estimate_cost.js +157 -0
  442. package/dist/skills/fuzz/scripts/extract_abis.js +303 -0
  443. package/dist/skills/fuzz/scripts/fizz_sync.js +692 -0
  444. package/dist/skills/fuzz/scripts/generate_handlers.js +370 -0
  445. package/dist/skills/fuzz/scripts/generate_suite.js +254 -0
  446. package/dist/skills/fuzz/scripts/lib/log-viewer.js +332 -0
  447. package/dist/skills/fuzz/scripts/run_echidna.js +192 -0
  448. package/dist/skills/fuzz/scripts/run_medusa.js +329 -0
  449. package/dist/skills/fuzz/scripts/select_functions.js +637 -0
  450. package/dist/skills/fuzz/scripts/setup_fuzz_profile.sh +142 -0
  451. package/dist/skills/fuzz/templates/Actor.sol +63 -0
  452. package/dist/skills/fuzz/templates/Base.sol +121 -0
  453. package/dist/skills/fuzz/templates/FoundryTester.sol +29 -0
  454. package/dist/skills/fuzz/templates/FuzzTester.sol +11 -0
  455. package/dist/skills/fuzz/templates/Properties.sol +17 -0
  456. package/dist/skills/fuzz/templates/README.md +56 -0
  457. package/dist/skills/fuzz/templates/Snapshots.sol +26 -0
  458. package/dist/skills/fuzz/templates/echidna.yaml +18 -0
  459. package/dist/skills/fuzz/templates/handlers/Handlers.sol +13 -0
  460. package/dist/skills/fuzz/templates/medusa.json +93 -0
  461. package/dist/skills/fuzz/templates/utils/Clamp.sol +223 -0
  462. package/dist/skills/fuzz/templates/utils/DecimalPrinter.sol +63 -0
  463. package/dist/skills/fuzz/templates/utils/Deployer.sol +17 -0
  464. package/dist/skills/fuzz/templates/utils/EnumerableSet.sol +206 -0
  465. package/dist/skills/fuzz/templates/utils/Hevm.sol +62 -0
  466. package/dist/skills/fuzz/templates/utils/Logger.sol +619 -0
  467. package/dist/skills/fuzz/templates/utils/Math.sol +52 -0
  468. package/dist/skills/fuzz/templates/utils/MockERC20.sol +279 -0
  469. package/dist/skills/fuzz/templates/utils/PropertiesAsserts.sol +238 -0
  470. package/dist/skills/fuzz/templates/utils/StringUtils.sol +85 -0
  471. package/dist/skills/fuzz-convert/SKILL.md +249 -0
  472. package/dist/skills/fuzz-sync/SKILL.md +342 -0
  473. package/dist/skills/generate-poc.md +8 -26
  474. package/dist/skills/generate-report.md +17 -5
  475. package/dist/skills/ingest-aa-report.md +11 -30
  476. package/dist/skills/init-audit/SKILL.md +155 -0
  477. package/dist/skills/init-audit/references/agents/conformance-checker.md +36 -0
  478. package/dist/skills/init-audit/references/agents/contract-reader.md +59 -0
  479. package/dist/skills/init-audit/references/agents/diagram-composer.md +48 -0
  480. package/dist/skills/init-audit/references/agents/docs-extractor.md +26 -0
  481. package/dist/skills/init-audit/references/agents/prior-audit.md +32 -0
  482. package/dist/skills/init-audit/references/agents/regression-checker.md +28 -0
  483. package/dist/skills/init-audit/references/agents/skeptic.md +31 -0
  484. package/dist/skills/init-audit/references/agents/standards-checker.md +39 -0
  485. package/dist/skills/init-audit/references/agents/synthesizer.md +50 -0
  486. package/dist/skills/prevalidate.md +62 -0
  487. package/dist/skills/sync-issues.md +11 -25
  488. package/dist/skills/validate-all-findings.md +2 -2
  489. package/dist/skills/validate-finding.md +25 -24
  490. package/dist/skills/write-finding.md +6 -5
  491. package/dist/types/index.d.ts +16 -12
  492. package/dist/types/index.d.ts.map +1 -1
  493. package/package.json +5 -4
  494. package/dashboard/.next/server/app/access/page.js +0 -1
  495. package/dashboard/.next/server/app/access/page_client-reference-manifest.js +0 -1
  496. package/dashboard/.next/server/app/api/flows/route.js +0 -1
  497. package/dashboard/.next/server/app/api/mermaid/route.js +0 -1
  498. package/dashboard/.next/server/app/calls/page.js +0 -1
  499. package/dashboard/.next/server/app/calls/page_client-reference-manifest.js +0 -1
  500. package/dashboard/.next/server/app/conformance/page.js +0 -1
  501. package/dashboard/.next/server/app/conformance/page.js.nft.json +0 -1
  502. package/dashboard/.next/server/app/conformance/page_client-reference-manifest.js +0 -1
  503. package/dashboard/.next/server/app/diagram/page.js +0 -1
  504. package/dashboard/.next/server/app/diagram/page.js.nft.json +0 -1
  505. package/dashboard/.next/server/app/diagram/page_client-reference-manifest.js +0 -1
  506. package/dashboard/.next/server/app/flows/page.js +0 -1
  507. package/dashboard/.next/server/app/flows/page.js.nft.json +0 -1
  508. package/dashboard/.next/server/app/flows/page_client-reference-manifest.js +0 -1
  509. package/dashboard/.next/server/app/functions/page.js +0 -1
  510. package/dashboard/.next/server/app/functions/page.js.nft.json +0 -1
  511. package/dashboard/.next/server/app/functions/page_client-reference-manifest.js +0 -1
  512. package/dashboard/.next/server/app/notes/page.js +0 -22
  513. package/dashboard/.next/server/app/notes/page.js.nft.json +0 -1
  514. package/dashboard/.next/server/app/notes/page_client-reference-manifest.js +0 -1
  515. package/dashboard/.next/server/app/progress/page.js +0 -1
  516. package/dashboard/.next/server/app/progress/page.js.nft.json +0 -1
  517. package/dashboard/.next/server/app/progress/page_client-reference-manifest.js +0 -1
  518. package/dashboard/.next/server/app/stats/page.js +0 -1
  519. package/dashboard/.next/server/app/stats/page.js.nft.json +0 -1
  520. package/dashboard/.next/server/app/stats/page_client-reference-manifest.js +0 -1
  521. package/dashboard/.next/server/chunks/530.js +0 -1
  522. package/dashboard/.next/server/chunks/622.js +0 -3
  523. package/dashboard/.next/server/chunks/665.js +0 -13
  524. package/dashboard/.next/server/chunks/939.js +0 -1
  525. package/dashboard/.next/static/chunks/3017.4a5312e3c20a173f.js +0 -1
  526. package/dashboard/.next/static/chunks/7397-37adf76cad543297.js +0 -1
  527. package/dashboard/.next/static/chunks/7973.e34032723285a616.js +0 -79
  528. package/dashboard/.next/static/chunks/8452-6d77fa353402422c.js +0 -13
  529. package/dashboard/.next/static/chunks/8928-fc049decdfbdaa6d.js +0 -1
  530. package/dashboard/.next/static/chunks/app/access/page-f8403cbdfc1c176b.js +0 -1
  531. package/dashboard/.next/static/chunks/app/calls/page-41f20d01e12382ef.js +0 -1
  532. package/dashboard/.next/static/chunks/app/changes/page-82bf8b6f48cdc506.js +0 -1
  533. package/dashboard/.next/static/chunks/app/conformance/page-6bb8e3b372e38098.js +0 -1
  534. package/dashboard/.next/static/chunks/app/diagram/page-469cd7a6f183efba.js +0 -1
  535. package/dashboard/.next/static/chunks/app/flows/page-7872dd9141ba0b07.js +0 -1
  536. package/dashboard/.next/static/chunks/app/functions/page-5847bcb77a8e7edf.js +0 -1
  537. package/dashboard/.next/static/chunks/app/issues/page-1ffc64fe40439002.js +0 -1
  538. package/dashboard/.next/static/chunks/app/layout-6c6d2a0fd7c989d3.js +0 -1
  539. package/dashboard/.next/static/chunks/app/notes/page-8bcaa52304500098.js +0 -1
  540. package/dashboard/.next/static/chunks/app/page-d63800ddb072b77b.js +0 -1
  541. package/dashboard/.next/static/chunks/app/progress/page-e26554f655a62eef.js +0 -1
  542. package/dashboard/.next/static/chunks/app/report/page-18c04fb2f193b020.js +0 -1
  543. package/dashboard/.next/static/chunks/app/stats/page-67ff59fd69bed651.js +0 -1
  544. package/dashboard/.next/static/chunks/webpack-4de0e79bdd6a0418.js +0 -1
  545. package/dashboard/.next/static/css/1112cea2260b3926.css +0 -3
  546. package/dashboard/app/access/AccessClient.tsx +0 -402
  547. package/dashboard/app/access/ReadOnlyFunctions.tsx +0 -114
  548. package/dashboard/app/access/page.tsx +0 -125
  549. package/dashboard/app/api/flows/route.ts +0 -32
  550. package/dashboard/app/api/mermaid/route.ts +0 -25
  551. package/dashboard/app/calls/CallsClient.tsx +0 -170
  552. package/dashboard/app/calls/page.tsx +0 -57
  553. package/dashboard/app/conformance/ConformanceTable.tsx +0 -214
  554. package/dashboard/app/conformance/page.tsx +0 -186
  555. package/dashboard/app/diagram/page.tsx +0 -65
  556. package/dashboard/app/flows/page.tsx +0 -102
  557. package/dashboard/app/functions/FunctionsClient.tsx +0 -167
  558. package/dashboard/app/functions/page.tsx +0 -178
  559. package/dashboard/app/issues/IssuesBoardClient.tsx +0 -813
  560. package/dashboard/app/notes/NotesClient.tsx +0 -706
  561. package/dashboard/app/notes/page.tsx +0 -47
  562. package/dashboard/app/progress/ProgressClient.tsx +0 -354
  563. package/dashboard/app/progress/page.tsx +0 -127
  564. package/dashboard/app/stats/StatsClient.tsx +0 -452
  565. package/dashboard/app/stats/page.tsx +0 -50
  566. package/dashboard/components/ConfidenceBadge.tsx +0 -53
  567. package/dashboard/components/DashboardLayout.tsx +0 -510
  568. package/dashboard/components/FilterableTable.tsx +0 -293
  569. package/dashboard/components/MermaidViewer.tsx +0 -267
  570. package/dashboard/components/NotYetGenerated.tsx +0 -32
  571. package/dashboard/components/SeverityBadge.tsx +0 -28
  572. package/dashboard/components/SignalBars.tsx +0 -27
  573. package/dashboard/components/SortableTable.tsx +0 -122
  574. package/dashboard/lib/conformance-tokens.ts +0 -49
  575. package/dist/skills/init-audit.md +0 -386
  576. /package/dashboard/.next/server/app/api/{flows → xref}/route.js.nft.json +0 -0
  577. /package/dashboard/.next/server/app/{api/mermaid → excalidraw-assets/[...path]}/route.js.nft.json +0 -0
  578. /package/dashboard/.next/static/{z5XBev05xDAkDrxWxAjNu → bGV1ry1vvIbM5b506eVBR}/_buildManifest.js +0 -0
  579. /package/dashboard/.next/static/{z5XBev05xDAkDrxWxAjNu → bGV1ry1vvIbM5b506eVBR}/_ssgManifest.js +0 -0
  580. /package/dashboard/.next/static/chunks/{3205-47d09be47325709f.js → 3205-fd963acf2fdfd080.js} +0 -0
  581. /package/dashboard/.next/static/chunks/{3924-88d849290406ee6f.js → 3924-f1f85ccc7d59d7ab.js} +0 -0
  582. /package/dashboard/.next/static/chunks/{618f8807-69fc7bb97c2b87c1.js → 618f8807-fbb1466bc29c17c6.js} +0 -0
  583. /package/dashboard/.next/static/chunks/{7498-d1814d68ba346d13.js → 7498-7cf464d8af69cd0a.js} +0 -0
  584. /package/dashboard/.next/static/chunks/app/_not-found/{page-c299b935209993df.js → page-5ff5d54b6fd6f17e.js} +0 -0
@@ -1,13 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8452],{18452:function(e,t,l){l.d(t,{b7:function(){return r},ie:function(){return i}});var n=l(58078),o=l(73299);/**
2
- * react-table
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */function i(e,t){return e?"function"==typeof e&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()||"function"==typeof e||"object"==typeof e&&"symbol"==typeof e.$$typeof&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)?n.createElement(e,t):e:null}function r(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[l]=n.useState(()=>({current:(0,o.W_)(t)})),[i,r]=n.useState(()=>l.current.initialState);return l.current.setOptions(t=>({...t,...e,state:{...i,...e.state},onStateChange:t=>{r(t),null==e.onStateChange||e.onStateChange(t)}})),l.current}},73299:function(e,t,l){function n(e,t){return"function"==typeof e?e(t):e}function o(e,t){return l=>{t.setState(t=>({...t,[e]:n(l,t[e])}))}}function i(e){return e instanceof Function}function r(e,t,l){let n,o=[];return i=>{let r,u;l.key&&l.debug&&(r=Date.now());let a=e(i);if(!(a.length!==o.length||a.some((e,t)=>o[t]!==e)))return n;if(o=a,l.key&&l.debug&&(u=Date.now()),n=t(...a),null==l||null==l.onChange||l.onChange(n),l.key&&l.debug&&null!=l&&l.debug()){let e=Math.round((Date.now()-r)*100)/100,t=Math.round((Date.now()-u)*100)/100,n=t/16,o=(e,t)=>{for(e=String(e);e.length<t;)e=" "+e;return e};console.info(`%c⏱ ${o(t,5)} /${o(e,5)} ms`,`
11
- font-size: .6rem;
12
- font-weight: bold;
13
- color: hsl(${Math.max(0,Math.min(120-120*n,120))}deg 100% 31%);`,null==l?void 0:l.key)}return n}}function u(e,t,l,n){return{debug:()=>{var l;return null!=(l=null==e?void 0:e.debugAll)?l:e[t]},key:!1,onChange:n}}l.d(t,{W_:function(){return j},sC:function(){return N},tj:function(){return $},vL:function(){return U}});let a="debugHeaders";function g(e,t,l){var n;let o={id:null!=(n=l.id)?n:t.id,column:t,index:l.index,isPlaceholder:!!l.isPlaceholder,placeholderId:l.placeholderId,depth:l.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=l=>{l.subHeaders&&l.subHeaders.length&&l.subHeaders.map(t),e.push(l)};return t(o),e},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(t=>{null==t.createHeader||t.createHeader(o,e)}),o}function s(e,t,l,n){var o,i;let r=0,u=function(e,t){void 0===t&&(t=1),r=Math.max(r,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var l;null!=(l=e.columns)&&l.length&&u(e.columns,t+1)},0)};u(e);let a=[],s=(e,t)=>{let o={depth:t,id:[n,`${t}`].filter(Boolean).join("_"),headers:[]},i=[];e.forEach(e=>{let r;let u=[...i].reverse()[0],a=e.column.depth===o.depth,s=!1;if(a&&e.column.parent?r=e.column.parent:(r=e.column,s=!0),u&&(null==u?void 0:u.column)===r)u.subHeaders.push(e);else{let o=g(l,r,{id:[n,t,r.id,null==e?void 0:e.id].filter(Boolean).join("_"),isPlaceholder:s,placeholderId:s?`${i.filter(e=>e.column===r).length}`:void 0,depth:t,index:i.length});o.subHeaders.push(e),i.push(o)}o.headers.push(e),e.headerGroup=o}),a.push(o),t>0&&s(i,t-1)};s(t.map((e,t)=>g(l,e,{depth:r,index:t})),r-1),a.reverse();let d=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,l=0,n=[0];return e.subHeaders&&e.subHeaders.length?(n=[],d(e.subHeaders).forEach(e=>{let{colSpan:l,rowSpan:o}=e;t+=l,n.push(o)})):t=1,l+=Math.min(...n),e.colSpan=t,e.rowSpan=l,{colSpan:t,rowSpan:l}});return d(null!=(o=null==(i=a[0])?void 0:i.headers)?o:[]),a}let d=(e,t,l,n,o,i,a)=>{let g={id:t,index:n,original:l,depth:o,parentId:a,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(g._valuesCache.hasOwnProperty(t))return g._valuesCache[t];let l=e.getColumn(t);if(null!=l&&l.accessorFn)return g._valuesCache[t]=l.accessorFn(g.original,n),g._valuesCache[t]},getUniqueValues:t=>{if(g._uniqueValuesCache.hasOwnProperty(t))return g._uniqueValuesCache[t];let l=e.getColumn(t);return null!=l&&l.accessorFn?(l.columnDef.getUniqueValues?g._uniqueValuesCache[t]=l.columnDef.getUniqueValues(g.original,n):g._uniqueValuesCache[t]=[g.getValue(t)],g._uniqueValuesCache[t]):void 0},renderValue:t=>{var l;return null!=(l=g.getValue(t))?l:e.options.renderFallbackValue},subRows:null!=i?i:[],getLeafRows:()=>(function(e,t){let l=[],n=e=>{e.forEach(e=>{l.push(e);let o=t(e);null!=o&&o.length&&n(o)})};return n(e),l})(g.subRows,e=>e.subRows),getParentRow:()=>g.parentId?e.getRow(g.parentId,!0):void 0,getParentRows:()=>{let e=[],t=g;for(;;){let l=t.getParentRow();if(!l)break;e.push(l),t=l}return e.reverse()},getAllCells:r(()=>[e.getAllLeafColumns()],t=>t.map(t=>(function(e,t,l,n){let o={id:`${t.id}_${l.id}`,row:t,column:l,getValue:()=>t.getValue(n),renderValue:()=>{var t;return null!=(t=o.getValue())?t:e.options.renderFallbackValue},getContext:r(()=>[e,l,t,o],(e,t,l,n)=>({table:e,column:t,row:l,cell:n,getValue:n.getValue,renderValue:n.renderValue}),u(e.options,"debugCells","cell.getContext"))};return e._features.forEach(n=>{null==n.createCell||n.createCell(o,l,t,e)},{}),o})(e,g,t,t.id)),u(e.options,"debugRows","getAllCells")),_getAllCellsByColumnId:r(()=>[g.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),u(e.options,"debugRows","getAllCellsByColumnId"))};for(let t=0;t<e._features.length;t++){let l=e._features[t];null==l||null==l.createRow||l.createRow(g,e)}return g},p=(e,t,l)=>{var n,o;let i=null==l||null==(n=l.toString())?void 0:n.toLowerCase();return!!(null==(o=e.getValue(t))||null==(o=o.toString())||null==(o=o.toLowerCase())?void 0:o.includes(i))};p.autoRemove=e=>b(e);let c=(e,t,l)=>{var n;return!!(null==(n=e.getValue(t))||null==(n=n.toString())?void 0:n.includes(l))};c.autoRemove=e=>b(e);let f=(e,t,l)=>{var n;return(null==(n=e.getValue(t))||null==(n=n.toString())?void 0:n.toLowerCase())===(null==l?void 0:l.toLowerCase())};f.autoRemove=e=>b(e);let m=(e,t,l)=>{var n;return null==(n=e.getValue(t))?void 0:n.includes(l)};m.autoRemove=e=>b(e);let C=(e,t,l)=>!l.some(l=>{var n;return!(null!=(n=e.getValue(t))&&n.includes(l))});C.autoRemove=e=>b(e)||!(null!=e&&e.length);let w=(e,t,l)=>l.some(l=>{var n;return null==(n=e.getValue(t))?void 0:n.includes(l)});w.autoRemove=e=>b(e)||!(null!=e&&e.length);let S=(e,t,l)=>e.getValue(t)===l;S.autoRemove=e=>b(e);let v=(e,t,l)=>e.getValue(t)==l;v.autoRemove=e=>b(e);let h=(e,t,l)=>{let[n,o]=l,i=e.getValue(t);return i>=n&&i<=o};h.resolveFilterValue=e=>{let[t,l]=e,n="number"!=typeof t?parseFloat(t):t,o="number"!=typeof l?parseFloat(l):l,i=null===t||Number.isNaN(n)?-1/0:n,r=null===l||Number.isNaN(o)?1/0:o;if(i>r){let e=i;i=r,r=e}return[i,r]},h.autoRemove=e=>b(e)||b(e[0])&&b(e[1]);let R={includesString:p,includesStringSensitive:c,equalsString:f,arrIncludes:m,arrIncludesAll:C,arrIncludesSome:w,equals:S,weakEquals:v,inNumberRange:h};function b(e){return null==e||""===e}function F(e,t,l){return!!e&&!!e.autoRemove&&e.autoRemove(t,l)||void 0===t||"string"==typeof t&&!t}let M={sum:(e,t,l)=>l.reduce((t,l)=>{let n=l.getValue(e);return t+("number"==typeof n?n:0)},0),min:(e,t,l)=>{let n;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(n>l||void 0===n&&l>=l)&&(n=l)}),n},max:(e,t,l)=>{let n;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(n<l||void 0===n&&l>=l)&&(n=l)}),n},extent:(e,t,l)=>{let n,o;return l.forEach(t=>{let l=t.getValue(e);null!=l&&(void 0===n?l>=l&&(n=o=l):(n>l&&(n=l),o<l&&(o=l)))}),[n,o]},mean:(e,t)=>{let l=0,n=0;if(t.forEach(t=>{let o=t.getValue(e);null!=o&&(o=+o)>=o&&(++l,n+=o)}),l)return n/l},median:(e,t)=>{if(!t.length)return;let l=t.map(t=>t.getValue(e));if(!(Array.isArray(l)&&l.every(e=>"number"==typeof e)))return;if(1===l.length)return l[0];let n=Math.floor(l.length/2),o=l.sort((e,t)=>e-t);return l.length%2!=0?o[n]:(o[n-1]+o[n])/2},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},V=()=>({left:[],right:[]}),I={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},P=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),_=null;function x(e){return"touchstart"===e.type}function y(e,t){return t?"center"===t?e.getCenterVisibleLeafColumns():"left"===t?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}let G=()=>({pageIndex:0,pageSize:10}),E=()=>({top:[],bottom:[]}),L=(e,t,l,n,o)=>{var i;let r=o.getRow(t,!0);l?(r.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),r.getCanSelect()&&(e[t]=!0)):delete e[t],n&&null!=(i=r.subRows)&&i.length&&r.getCanSelectSubRows()&&r.subRows.forEach(t=>L(e,t.id,l,n,o))};function A(e,t){let l=e.getState().rowSelection,n=[],o={},i=function(e,t){return e.map(e=>{var t;let r=H(e,l);if(r&&(n.push(e),o[e.id]=e),null!=(t=e.subRows)&&t.length&&(e={...e,subRows:i(e.subRows)}),r)return e}).filter(Boolean)};return{rows:i(t.rows),flatRows:n,rowsById:o}}function H(e,t){var l;return null!=(l=t[e.id])&&l}function D(e,t,l){var n;if(!(null!=(n=e.subRows)&&n.length))return!1;let o=!0,i=!1;return e.subRows.forEach(e=>{if((!i||o)&&(e.getCanSelect()&&(H(e,t)?i=!0:o=!1),e.subRows&&e.subRows.length)){let l=D(e,t);"all"===l?i=!0:("some"===l&&(i=!0),o=!1)}}),o?"all":!!i&&"some"}let z=/([0-9]+)/gm;function O(e,t){return e===t?0:e>t?1:-1}function T(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}function B(e,t){let l=e.split(z).filter(Boolean),n=t.split(z).filter(Boolean);for(;l.length&&n.length;){let e=l.shift(),t=n.shift(),o=parseInt(e,10),i=parseInt(t,10),r=[o,i].sort();if(isNaN(r[0])){if(e>t)return 1;if(t>e)return -1;continue}if(isNaN(r[1]))return isNaN(o)?-1:1;if(o>i)return 1;if(i>o)return -1}return l.length-n.length}let k={alphanumeric:(e,t,l)=>B(T(e.getValue(l)).toLowerCase(),T(t.getValue(l)).toLowerCase()),alphanumericCaseSensitive:(e,t,l)=>B(T(e.getValue(l)),T(t.getValue(l))),text:(e,t,l)=>O(T(e.getValue(l)).toLowerCase(),T(t.getValue(l)).toLowerCase()),textCaseSensitive:(e,t,l)=>O(T(e.getValue(l)),T(t.getValue(l))),datetime:(e,t,l)=>{let n=e.getValue(l),o=t.getValue(l);return n>o?1:n<o?-1:0},basic:(e,t,l)=>O(e.getValue(l),t.getValue(l))},q=[{createTable:e=>{e.getHeaderGroups=r(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,l,n,o)=>{var i,r;let u=null!=(i=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?i:[],a=null!=(r=null==o?void 0:o.map(e=>l.find(t=>t.id===e)).filter(Boolean))?r:[];return s(t,[...u,...l.filter(e=>!(null!=n&&n.includes(e.id))&&!(null!=o&&o.includes(e.id))),...a],e)},u(e.options,a,"getHeaderGroups")),e.getCenterHeaderGroups=r(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,l,n,o)=>s(t,l=l.filter(e=>!(null!=n&&n.includes(e.id))&&!(null!=o&&o.includes(e.id))),e,"center"),u(e.options,a,"getCenterHeaderGroups")),e.getLeftHeaderGroups=r(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,l,n)=>{var o;return s(t,null!=(o=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?o:[],e,"left")},u(e.options,a,"getLeftHeaderGroups")),e.getRightHeaderGroups=r(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,l,n)=>{var o;return s(t,null!=(o=null==n?void 0:n.map(e=>l.find(t=>t.id===e)).filter(Boolean))?o:[],e,"right")},u(e.options,a,"getRightHeaderGroups")),e.getFooterGroups=r(()=>[e.getHeaderGroups()],e=>[...e].reverse(),u(e.options,a,"getFooterGroups")),e.getLeftFooterGroups=r(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),u(e.options,a,"getLeftFooterGroups")),e.getCenterFooterGroups=r(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),u(e.options,a,"getCenterFooterGroups")),e.getRightFooterGroups=r(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),u(e.options,a,"getRightFooterGroups")),e.getFlatHeaders=r(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),u(e.options,a,"getFlatHeaders")),e.getLeftFlatHeaders=r(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),u(e.options,a,"getLeftFlatHeaders")),e.getCenterFlatHeaders=r(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),u(e.options,a,"getCenterFlatHeaders")),e.getRightFlatHeaders=r(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),u(e.options,a,"getRightFlatHeaders")),e.getCenterLeafHeaders=r(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),u(e.options,a,"getCenterLeafHeaders")),e.getLeftLeafHeaders=r(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),u(e.options,a,"getLeftLeafHeaders")),e.getRightLeafHeaders=r(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!(null!=(t=e.subHeaders)&&t.length)}),u(e.options,a,"getRightLeafHeaders")),e.getLeafHeaders=r(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,l)=>{var n,o,i,r,u,a;return[...null!=(n=null==(o=e[0])?void 0:o.headers)?n:[],...null!=(i=null==(r=t[0])?void 0:r.headers)?i:[],...null!=(u=null==(a=l[0])?void 0:a.headers)?u:[]].map(e=>e.getLeafHeaders()).flat()},u(e.options,a,"getLeafHeaders"))}},{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:o("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=l=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:null!=l?l:!e.getIsVisible()}))},e.getIsVisible=()=>{var l,n;let o=e.columns;return null==(l=o.length?o.some(e=>e.getIsVisible()):null==(n=t.getState().columnVisibility)?void 0:n[e.id])||l},e.getCanHide=()=>{var l,n;return(null==(l=e.columnDef.enableHiding)||l)&&(null==(n=t.options.enableHiding)||n)},e.getToggleVisibilityHandler=()=>t=>{null==e.toggleVisibility||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=r(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),u(t.options,"debugRows","_getAllVisibleCells")),e.getVisibleCells=r(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,l)=>[...e,...t,...l],u(t.options,"debugRows","getVisibleCells"))},createTable:e=>{let t=(t,l)=>r(()=>[l(),l().filter(e=>e.getIsVisible()).map(e=>e.id).join("_")],e=>e.filter(e=>null==e.getIsVisible?void 0:e.getIsVisible()),u(e.options,"debugColumns",t));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>null==e.options.onColumnVisibilityChange?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var l;e.setColumnVisibility(t?{}:null!=(l=e.initialState.columnVisibility)?l:{})},e.toggleAllColumnsVisible=t=>{var l;t=null!=(l=t)?l:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,l)=>({...e,[l.id]:t||!(null!=l.getCanHide&&l.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(null!=e.getIsVisible&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>null==e.getIsVisible?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var l;e.toggleAllColumnsVisible(null==(l=t.target)?void 0:l.checked)}}},{getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:o("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=r(e=>[y(t,e)],t=>t.findIndex(t=>t.id===e.id),u(t.options,"debugColumns","getIndex")),e.getIsFirstColumn=l=>{var n;return(null==(n=y(t,l)[0])?void 0:n.id)===e.id},e.getIsLastColumn=l=>{var n;let o=y(t,l);return(null==(n=o[o.length-1])?void 0:n.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>null==e.options.onColumnOrderChange?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var l;e.setColumnOrder(t?[]:null!=(l=e.initialState.columnOrder)?l:[])},e._getOrderColumnsFn=r(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,l)=>n=>{let o=[];if(null!=e&&e.length){let t=[...e],l=[...n];for(;l.length&&t.length;){let e=t.shift(),n=l.findIndex(t=>t.id===e);n>-1&&o.push(l.splice(n,1)[0])}o=[...o,...l]}else o=n;return function(e,t,l){if(!(null!=t&&t.length)||!l)return e;let n=e.filter(e=>!t.includes(e.id));return"remove"===l?n:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...n]}(o,t,l)},u(e.options,"debugTable","_getOrderColumnsFn"))}},{getInitialState:e=>({columnPinning:V(),...e}),getDefaultOptions:e=>({onColumnPinningChange:o("columnPinning",e)}),createColumn:(e,t)=>{e.pin=l=>{let n=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>{var t,o,i,r,u,a;return"right"===l?{left:(null!=(i=null==e?void 0:e.left)?i:[]).filter(e=>!(null!=n&&n.includes(e))),right:[...(null!=(r=null==e?void 0:e.right)?r:[]).filter(e=>!(null!=n&&n.includes(e))),...n]}:"left"===l?{left:[...(null!=(u=null==e?void 0:e.left)?u:[]).filter(e=>!(null!=n&&n.includes(e))),...n],right:(null!=(a=null==e?void 0:e.right)?a:[]).filter(e=>!(null!=n&&n.includes(e)))}:{left:(null!=(t=null==e?void 0:e.left)?t:[]).filter(e=>!(null!=n&&n.includes(e))),right:(null!=(o=null==e?void 0:e.right)?o:[]).filter(e=>!(null!=n&&n.includes(e)))}})},e.getCanPin=()=>e.getLeafColumns().some(e=>{var l,n,o;return(null==(l=e.columnDef.enablePinning)||l)&&(null==(n=null!=(o=t.options.enableColumnPinning)?o:t.options.enablePinning)||n)}),e.getIsPinned=()=>{let l=e.getLeafColumns().map(e=>e.id),{left:n,right:o}=t.getState().columnPinning,i=l.some(e=>null==n?void 0:n.includes(e)),r=l.some(e=>null==o?void 0:o.includes(e));return i?"left":!!r&&"right"},e.getPinnedIndex=()=>{var l,n;let o=e.getIsPinned();return o?null!=(l=null==(n=t.getState().columnPinning)||null==(n=n[o])?void 0:n.indexOf(e.id))?l:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=r(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,l)=>{let n=[...null!=t?t:[],...null!=l?l:[]];return e.filter(e=>!n.includes(e.column.id))},u(t.options,"debugRows","getCenterVisibleCells")),e.getLeftVisibleCells=r(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:"left"})),u(t.options,"debugRows","getLeftVisibleCells")),e.getRightVisibleCells=r(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:"right"})),u(t.options,"debugRows","getRightVisibleCells"))},createTable:e=>{e.setColumnPinning=t=>null==e.options.onColumnPinningChange?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var l,n;return e.setColumnPinning(t?V():null!=(l=null==(n=e.initialState)?void 0:n.columnPinning)?l:V())},e.getIsSomeColumnsPinned=t=>{var l,n,o;let i=e.getState().columnPinning;return t?!!(null==(l=i[t])?void 0:l.length):!!((null==(n=i.left)?void 0:n.length)||(null==(o=i.right)?void 0:o.length))},e.getLeftLeafColumns=r(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),u(e.options,"debugColumns","getLeftLeafColumns")),e.getRightLeafColumns=r(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(null!=t?t:[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),u(e.options,"debugColumns","getRightLeafColumns")),e.getCenterLeafColumns=r(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,l)=>{let n=[...null!=t?t:[],...null!=l?l:[]];return e.filter(e=>!n.includes(e.id))},u(e.options,"debugColumns","getCenterLeafColumns"))}},{createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},{getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:o("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let l=t.getCoreRowModel().flatRows[0],n=null==l?void 0:l.getValue(e.id);return"string"==typeof n?R.includesString:"number"==typeof n?R.inNumberRange:"boolean"==typeof n||null!==n&&"object"==typeof n?R.equals:Array.isArray(n)?R.arrIncludes:R.weakEquals},e.getFilterFn=()=>{var l,n;return i(e.columnDef.filterFn)?e.columnDef.filterFn:"auto"===e.columnDef.filterFn?e.getAutoFilterFn():null!=(l=null==(n=t.options.filterFns)?void 0:n[e.columnDef.filterFn])?l:R[e.columnDef.filterFn]},e.getCanFilter=()=>{var l,n,o;return(null==(l=e.columnDef.enableColumnFilter)||l)&&(null==(n=t.options.enableColumnFilters)||n)&&(null==(o=t.options.enableFilters)||o)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var l;return null==(l=t.getState().columnFilters)||null==(l=l.find(t=>t.id===e.id))?void 0:l.value},e.getFilterIndex=()=>{var l,n;return null!=(l=null==(n=t.getState().columnFilters)?void 0:n.findIndex(t=>t.id===e.id))?l:-1},e.setFilterValue=l=>{t.setColumnFilters(t=>{var o,i;let r=e.getFilterFn(),u=null==t?void 0:t.find(t=>t.id===e.id),a=n(l,u?u.value:void 0);if(F(r,a,e))return null!=(o=null==t?void 0:t.filter(t=>t.id!==e.id))?o:[];let g={id:e.id,value:a};return u?null!=(i=null==t?void 0:t.map(t=>t.id===e.id?g:t))?i:[]:null!=t&&t.length?[...t,g]:[g]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let l=e.getAllLeafColumns();null==e.options.onColumnFiltersChange||e.options.onColumnFiltersChange(e=>{var o;return null==(o=n(t,e))?void 0:o.filter(e=>{let t=l.find(t=>t.id===e.id);return!(t&&F(t.getFilterFn(),e.value,t))})})},e.resetColumnFilters=t=>{var l,n;e.setColumnFilters(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.columnFilters)?l:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel)?e.getPreFilteredRowModel():e._getFilteredRowModel()}},{createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},{getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:o("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var l;let n=null==(l=e.getCoreRowModel().flatRows[0])||null==(l=l._getAllCellsByColumnId()[t.id])?void 0:l.getValue();return"string"==typeof n||"number"==typeof n}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var l,n,o,i;return(null==(l=e.columnDef.enableGlobalFilter)||l)&&(null==(n=t.options.enableGlobalFilter)||n)&&(null==(o=t.options.enableFilters)||o)&&(null==(i=null==t.options.getColumnCanGlobalFilter?void 0:t.options.getColumnCanGlobalFilter(e))||i)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>R.includesString,e.getGlobalFilterFn=()=>{var t,l;let{globalFilterFn:n}=e.options;return i(n)?n:"auto"===n?e.getGlobalAutoFilterFn():null!=(t=null==(l=e.options.filterFns)?void 0:l[n])?t:R[n]},e.setGlobalFilter=t=>{null==e.options.onGlobalFilterChange||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:o("sorting",e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let l=t.getFilteredRowModel().flatRows.slice(10),n=!1;for(let t of l){let l=null==t?void 0:t.getValue(e.id);if("[object Date]"===Object.prototype.toString.call(l))return k.datetime;if("string"==typeof l&&(n=!0,l.split(z).length>1))return k.alphanumeric}return n?k.text:k.basic},e.getAutoSortDir=()=>{let l=t.getFilteredRowModel().flatRows[0];return"string"==typeof(null==l?void 0:l.getValue(e.id))?"asc":"desc"},e.getSortingFn=()=>{var l,n;if(!e)throw Error();return i(e.columnDef.sortingFn)?e.columnDef.sortingFn:"auto"===e.columnDef.sortingFn?e.getAutoSortingFn():null!=(l=null==(n=t.options.sortingFns)?void 0:n[e.columnDef.sortingFn])?l:k[e.columnDef.sortingFn]},e.toggleSorting=(l,n)=>{let o=e.getNextSortingOrder(),i=null!=l;t.setSorting(r=>{let u;let a=null==r?void 0:r.find(t=>t.id===e.id),g=null==r?void 0:r.findIndex(t=>t.id===e.id),s=[],d=i?l:"desc"===o;if("toggle"!=(u=null!=r&&r.length&&e.getCanMultiSort()&&n?a?"toggle":"add":null!=r&&r.length&&g!==r.length-1?"replace":a?"toggle":"replace")||i||o||(u="remove"),"add"===u){var p;(s=[...r,{id:e.id,desc:d}]).splice(0,s.length-(null!=(p=t.options.maxMultiSortColCount)?p:Number.MAX_SAFE_INTEGER))}else s="toggle"===u?r.map(t=>t.id===e.id?{...t,desc:d}:t):"remove"===u?r.filter(t=>t.id!==e.id):[{id:e.id,desc:d}];return s})},e.getFirstSortDir=()=>{var l,n;return(null!=(l=null!=(n=e.columnDef.sortDescFirst)?n:t.options.sortDescFirst)?l:"desc"===e.getAutoSortDir())?"desc":"asc"},e.getNextSortingOrder=l=>{var n,o;let i=e.getFirstSortDir(),r=e.getIsSorted();return r?(r===i||null!=(n=t.options.enableSortingRemoval)&&!n||!!l&&null!=(o=t.options.enableMultiRemove)&&!o)&&("desc"===r?"asc":"desc"):i},e.getCanSort=()=>{var l,n;return(null==(l=e.columnDef.enableSorting)||l)&&(null==(n=t.options.enableSorting)||n)&&!!e.accessorFn},e.getCanMultiSort=()=>{var l,n;return null!=(l=null!=(n=e.columnDef.enableMultiSort)?n:t.options.enableMultiSort)?l:!!e.accessorFn},e.getIsSorted=()=>{var l;let n=null==(l=t.getState().sorting)?void 0:l.find(t=>t.id===e.id);return!!n&&(n.desc?"desc":"asc")},e.getSortIndex=()=>{var l,n;return null!=(l=null==(n=t.getState().sorting)?void 0:n.findIndex(t=>t.id===e.id))?l:-1},e.clearSorting=()=>{t.setSorting(t=>null!=t&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let l=e.getCanSort();return n=>{l&&(null==n.persist||n.persist(),null==e.toggleSorting||e.toggleSorting(void 0,!!e.getCanMultiSort()&&(null==t.options.isMultiSortEvent?void 0:t.options.isMultiSortEvent(n))))}}},createTable:e=>{e.setSorting=t=>null==e.options.onSortingChange?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var l,n;e.setSorting(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.sorting)?l:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel)?e.getPreSortedRowModel():e._getSortedRowModel()}},{getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,l;return null!=(t=null==(l=e.getValue())||null==l.toString?void 0:l.toString())?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:o("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>null!=t&&t.includes(e.id)?t.filter(t=>t!==e.id):[...null!=t?t:[],e.id])},e.getCanGroup=()=>{var l,n;return(null==(l=e.columnDef.enableGrouping)||l)&&(null==(n=t.options.enableGrouping)||n)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var l;return null==(l=t.getState().grouping)?void 0:l.includes(e.id)},e.getGroupedIndex=()=>{var l;return null==(l=t.getState().grouping)?void 0:l.indexOf(e.id)},e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let l=t.getCoreRowModel().flatRows[0],n=null==l?void 0:l.getValue(e.id);return"number"==typeof n?M.sum:"[object Date]"===Object.prototype.toString.call(n)?M.extent:void 0},e.getAggregationFn=()=>{var l,n;if(!e)throw Error();return i(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:"auto"===e.columnDef.aggregationFn?e.getAutoAggregationFn():null!=(l=null==(n=t.options.aggregationFns)?void 0:n[e.columnDef.aggregationFn])?l:M[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>null==e.options.onGroupingChange?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var l,n;e.setGrouping(t?[]:null!=(l=null==(n=e.initialState)?void 0:n.grouping)?l:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel)?e.getPreGroupedRowModel():e._getGroupedRowModel()},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=l=>{if(e._groupingValuesCache.hasOwnProperty(l))return e._groupingValuesCache[l];let n=t.getColumn(l);return null!=n&&n.columnDef.getGroupingValue?(e._groupingValuesCache[l]=n.columnDef.getGroupingValue(e.original),e._groupingValuesCache[l]):e.getValue(l)},e._groupingValuesCache={}},createCell:(e,t,l,n)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===l.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!(null!=(t=l.subRows)&&t.length)}}},{getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:o("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,l=!1;e._autoResetExpanded=()=>{var n,o;if(!t){e._queue(()=>{t=!0});return}if(null!=(n=null!=(o=e.options.autoResetAll)?o:e.options.autoResetExpanded)?n:!e.options.manualExpanding){if(l)return;l=!0,e._queue(()=>{e.resetExpanded(),l=!1})}},e.setExpanded=t=>null==e.options.onExpandedChange?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{(null!=t?t:!e.getIsAllRowsExpanded())?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{var l,n;e.setExpanded(t?{}:null!=(l=null==(n=e.initialState)?void 0:n.expanded)?l:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{null==t.persist||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return!0===t||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return"boolean"==typeof t?!0===t:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(!0===e.getState().expanded?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let l=e.split(".");t=Math.max(t,l.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel)?e.getPreExpandedRowModel():e._getExpandedRowModel()},createRow:(e,t)=>{e.toggleExpanded=l=>{t.setExpanded(n=>{var o;let i=!0===n||!!(null!=n&&n[e.id]),r={};if(!0===n?Object.keys(t.getRowModel().rowsById).forEach(e=>{r[e]=!0}):r=n,l=null!=(o=l)?o:!i,!i&&l)return{...r,[e.id]:!0};if(i&&!l){let{[e.id]:t,...l}=r;return l}return n})},e.getIsExpanded=()=>{var l;let n=t.getState().expanded;return!!(null!=(l=null==t.options.getIsRowExpanded?void 0:t.options.getIsRowExpanded(e))?l:!0===n||(null==n?void 0:n[e.id]))},e.getCanExpand=()=>{var l,n,o;return null!=(l=null==t.options.getRowCanExpand?void 0:t.options.getRowCanExpand(e))?l:(null==(n=t.options.enableExpanding)||n)&&!!(null!=(o=e.subRows)&&o.length)},e.getIsAllParentsExpanded=()=>{let l=!0,n=e;for(;l&&n.parentId;)l=(n=t.getRow(n.parentId,!0)).getIsExpanded();return l},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},{getInitialState:e=>({...e,pagination:{...G(),...null==e?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:o("pagination",e)}),createTable:e=>{let t=!1,l=!1;e._autoResetPageIndex=()=>{var n,o;if(!t){e._queue(()=>{t=!0});return}if(null!=(n=null!=(o=e.options.autoResetAll)?o:e.options.autoResetPageIndex)?n:!e.options.manualPagination){if(l)return;l=!0,e._queue(()=>{e.resetPageIndex(),l=!1})}},e.setPagination=t=>null==e.options.onPaginationChange?void 0:e.options.onPaginationChange(e=>n(t,e)),e.resetPagination=t=>{var l;e.setPagination(t?G():null!=(l=e.initialState.pagination)?l:G())},e.setPageIndex=t=>{e.setPagination(l=>{let o=n(t,l.pageIndex);return o=Math.max(0,Math.min(o,void 0===e.options.pageCount||-1===e.options.pageCount?Number.MAX_SAFE_INTEGER:e.options.pageCount-1)),{...l,pageIndex:o}})},e.resetPageIndex=t=>{var l,n;e.setPageIndex(t?0:null!=(l=null==(n=e.initialState)||null==(n=n.pagination)?void 0:n.pageIndex)?l:0)},e.resetPageSize=t=>{var l,n;e.setPageSize(t?10:null!=(l=null==(n=e.initialState)||null==(n=n.pagination)?void 0:n.pageSize)?l:10)},e.setPageSize=t=>{e.setPagination(e=>{let l=Math.max(1,n(t,e.pageSize)),o=e.pageSize*e.pageIndex;return{...e,pageIndex:Math.floor(o/l),pageSize:l}})},e.setPageCount=t=>e.setPagination(l=>{var o;let i=n(t,null!=(o=e.options.pageCount)?o:-1);return"number"==typeof i&&(i=Math.max(-1,i)),{...l,pageCount:i}}),e.getPageOptions=r(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},u(e.options,"debugTable","getPageOptions")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,l=e.getPageCount();return -1===l||0!==l&&t<l-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel)?e.getPrePaginationRowModel():e._getPaginationRowModel(),e.getPageCount=()=>{var t;return null!=(t=e.options.pageCount)?t:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var t;return null!=(t=e.options.rowCount)?t:e.getPrePaginationRowModel().rows.length}}},{getInitialState:e=>({rowPinning:E(),...e}),getDefaultOptions:e=>({onRowPinningChange:o("rowPinning",e)}),createRow:(e,t)=>{e.pin=(l,n,o)=>{let i=n?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],r=new Set([...o?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],e.id,...i]);t.setRowPinning(e=>{var t,n,o,i,u,a;return"bottom"===l?{top:(null!=(o=null==e?void 0:e.top)?o:[]).filter(e=>!(null!=r&&r.has(e))),bottom:[...(null!=(i=null==e?void 0:e.bottom)?i:[]).filter(e=>!(null!=r&&r.has(e))),...Array.from(r)]}:"top"===l?{top:[...(null!=(u=null==e?void 0:e.top)?u:[]).filter(e=>!(null!=r&&r.has(e))),...Array.from(r)],bottom:(null!=(a=null==e?void 0:e.bottom)?a:[]).filter(e=>!(null!=r&&r.has(e)))}:{top:(null!=(t=null==e?void 0:e.top)?t:[]).filter(e=>!(null!=r&&r.has(e))),bottom:(null!=(n=null==e?void 0:e.bottom)?n:[]).filter(e=>!(null!=r&&r.has(e)))}})},e.getCanPin=()=>{var l;let{enableRowPinning:n,enablePinning:o}=t.options;return"function"==typeof n?n(e):null==(l=null!=n?n:o)||l},e.getIsPinned=()=>{let l=[e.id],{top:n,bottom:o}=t.getState().rowPinning,i=l.some(e=>null==n?void 0:n.includes(e)),r=l.some(e=>null==o?void 0:o.includes(e));return i?"top":!!r&&"bottom"},e.getPinnedIndex=()=>{var l,n;let o=e.getIsPinned();if(!o)return -1;let i=null==(l="top"===o?t.getTopRows():t.getBottomRows())?void 0:l.map(e=>{let{id:t}=e;return t});return null!=(n=null==i?void 0:i.indexOf(e.id))?n:-1}},createTable:e=>{e.setRowPinning=t=>null==e.options.onRowPinningChange?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var l,n;return e.setRowPinning(t?E():null!=(l=null==(n=e.initialState)?void 0:n.rowPinning)?l:E())},e.getIsSomeRowsPinned=t=>{var l,n,o;let i=e.getState().rowPinning;return t?!!(null==(l=i[t])?void 0:l.length):!!((null==(n=i.top)?void 0:n.length)||(null==(o=i.bottom)?void 0:o.length))},e._getPinnedRows=(t,l,n)=>{var o;return(null==(o=e.options.keepPinnedRows)||o?(null!=l?l:[]).map(t=>{let l=e.getRow(t,!0);return l.getIsAllParentsExpanded()?l:null}):(null!=l?l:[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:n}))},e.getTopRows=r(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,l)=>e._getPinnedRows(t,l,"top"),u(e.options,"debugRows","getTopRows")),e.getBottomRows=r(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,l)=>e._getPinnedRows(t,l,"bottom"),u(e.options,"debugRows","getBottomRows")),e.getCenterRows=r(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,l)=>{let n=new Set([...null!=t?t:[],...null!=l?l:[]]);return e.filter(e=>!n.has(e.id))},u(e.options,"debugRows","getCenterRows"))}},{getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:o("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>null==e.options.onRowSelectionChange?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var l;return e.setRowSelection(t?{}:null!=(l=e.initialState.rowSelection)?l:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(l=>{t=void 0!==t?t:!e.getIsAllRowsSelected();let n={...l},o=e.getPreGroupedRowModel().flatRows;return t?o.forEach(e=>{e.getCanSelect()&&(n[e.id]=!0)}):o.forEach(e=>{delete n[e.id]}),n})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(l=>{let n=void 0!==t?t:!e.getIsAllPageRowsSelected(),o={...l};return e.getRowModel().rows.forEach(t=>{L(o,t.id,n,!0,e)}),o}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=r(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,l)=>Object.keys(t).length?A(e,l):{rows:[],flatRows:[],rowsById:{}},u(e.options,"debugTable","getSelectedRowModel")),e.getFilteredSelectedRowModel=r(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,l)=>Object.keys(t).length?A(e,l):{rows:[],flatRows:[],rowsById:{}},u(e.options,"debugTable","getFilteredSelectedRowModel")),e.getGroupedSelectedRowModel=r(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,l)=>Object.keys(t).length?A(e,l):{rows:[],flatRows:[],rowsById:{}},u(e.options,"debugTable","getGroupedSelectedRowModel")),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:l}=e.getState(),n=!!(t.length&&Object.keys(l).length);return n&&t.some(e=>e.getCanSelect()&&!l[e.id])&&(n=!1),n},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:l}=e.getState(),n=!!t.length;return n&&t.some(e=>!l[e.id])&&(n=!1),n},e.getIsSomeRowsSelected=()=>{var t;let l=Object.keys(null!=(t=e.getState().rowSelection)?t:{}).length;return l>0&&l<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(l,n)=>{let o=e.getIsSelected();t.setRowSelection(i=>{var r;if(l=void 0!==l?l:!o,e.getCanSelect()&&o===l)return i;let u={...i};return L(u,e.id,l,null==(r=null==n?void 0:n.selectChildren)||r,t),u})},e.getIsSelected=()=>{let{rowSelection:l}=t.getState();return H(e,l)},e.getIsSomeSelected=()=>{let{rowSelection:l}=t.getState();return"some"===D(e,l)},e.getIsAllSubRowsSelected=()=>{let{rowSelection:l}=t.getState();return"all"===D(e,l)},e.getCanSelect=()=>{var l;return"function"==typeof t.options.enableRowSelection?t.options.enableRowSelection(e):null==(l=t.options.enableRowSelection)||l},e.getCanSelectSubRows=()=>{var l;return"function"==typeof t.options.enableSubRowSelection?t.options.enableSubRowSelection(e):null==(l=t.options.enableSubRowSelection)||l},e.getCanMultiSelect=()=>{var l;return"function"==typeof t.options.enableMultiRowSelection?t.options.enableMultiRowSelection(e):null==(l=t.options.enableMultiRowSelection)||l},e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return l=>{var n;t&&e.toggleSelected(null==(n=l.target)?void 0:n.checked)}}}},{getDefaultColumnDef:()=>I,getInitialState:e=>({columnSizing:{},columnSizingInfo:P(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:o("columnSizing",e),onColumnSizingInfoChange:o("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var l,n,o;let i=t.getState().columnSizing[e.id];return Math.min(Math.max(null!=(l=e.columnDef.minSize)?l:I.minSize,null!=(n=null!=i?i:e.columnDef.size)?n:I.size),null!=(o=e.columnDef.maxSize)?o:I.maxSize)},e.getStart=r(e=>[e,y(t,e),t.getState().columnSizing],(t,l)=>l.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),u(t.options,"debugColumns","getStart")),e.getAfter=r(e=>[e,y(t,e),t.getState().columnSizing],(t,l)=>l.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),u(t.options,"debugColumns","getAfter")),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:l,...n}=t;return n})},e.getCanResize=()=>{var l,n;return(null==(l=e.columnDef.enableResizing)||l)&&(null==(n=t.options.enableColumnResizing)||n)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,l=e=>{if(e.subHeaders.length)e.subHeaders.forEach(l);else{var n;t+=null!=(n=e.column.getSize())?n:0}};return l(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=l=>{let n=t.getColumn(e.column.id),o=null==n?void 0:n.getCanResize();return i=>{if(!n||!o||(null==i.persist||i.persist(),x(i)&&i.touches&&i.touches.length>1))return;let r=e.getSize(),u=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[n.id,n.getSize()]],a=x(i)?Math.round(i.touches[0].clientX):i.clientX,g={},s=(e,l)=>{"number"==typeof l&&(t.setColumnSizingInfo(e=>{var n,o;let i="rtl"===t.options.columnResizeDirection?-1:1,r=(l-(null!=(n=null==e?void 0:e.startOffset)?n:0))*i,u=Math.max(r/(null!=(o=null==e?void 0:e.startSize)?o:0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,l]=e;g[t]=Math.round(100*Math.max(l+l*u,0))/100}),{...e,deltaOffset:r,deltaPercentage:u}}),("onChange"===t.options.columnResizeMode||"end"===e)&&t.setColumnSizing(e=>({...e,...g})))},d=e=>s("move",e),p=e=>{s("end",e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},c=l||("undefined"!=typeof document?document:null),f={moveHandler:e=>d(e.clientX),upHandler:e=>{null==c||c.removeEventListener("mousemove",f.moveHandler),null==c||c.removeEventListener("mouseup",f.upHandler),p(e.clientX)}},m={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{var t;null==c||c.removeEventListener("touchmove",m.moveHandler),null==c||c.removeEventListener("touchend",m.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),p(null==(t=e.touches[0])?void 0:t.clientX)}},C=!!function(){if("boolean"==typeof _)return _;let e=!1;try{let t=()=>{};window.addEventListener("test",t,{get passive(){return e=!0,!1}}),window.removeEventListener("test",t)}catch(t){e=!1}return _=e}()&&{passive:!1};x(i)?(null==c||c.addEventListener("touchmove",m.moveHandler,C),null==c||c.addEventListener("touchend",m.upHandler,C)):(null==c||c.addEventListener("mousemove",f.moveHandler,C),null==c||c.addEventListener("mouseup",f.upHandler,C)),t.setColumnSizingInfo(e=>({...e,startOffset:a,startSize:r,deltaOffset:0,deltaPercentage:0,columnSizingStart:u,isResizingColumn:n.id}))}}},createTable:e=>{e.setColumnSizing=t=>null==e.options.onColumnSizingChange?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>null==e.options.onColumnSizingInfoChange?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var l;e.setColumnSizing(t?{}:null!=(l=e.initialState.columnSizing)?l:{})},e.resetHeaderSizeInfo=t=>{var l;e.setColumnSizingInfo(t?P():null!=(l=e.initialState.columnSizingInfo)?l:P())},e.getTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getLeftTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getLeftHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getCenterTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getCenterHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0},e.getRightTotalSize=()=>{var t,l;return null!=(t=null==(l=e.getRightHeaderGroups()[0])?void 0:l.headers.reduce((e,t)=>e+t.getSize(),0))?t:0}}}];function j(e){var t,l;let o=[...q,...null!=(t=e._features)?t:[]],i={_features:o},a=i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultOptions?void 0:t.getDefaultOptions(i)),{}),g=e=>i.options.mergeOptions?i.options.mergeOptions(a,e):{...a,...e},s={...null!=(l=e.initialState)?l:{}};i._features.forEach(e=>{var t;s=null!=(t=null==e.getInitialState?void 0:e.getInitialState(s))?t:s});let d=[],p=!1,c={_features:o,options:{...a,...e},initialState:s,_queue:e=>{d.push(e),p||(p=!0,Promise.resolve().then(()=>{for(;d.length;)d.shift()();p=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{i.setState(i.initialState)},setOptions:e=>{let t=n(e,i.options);i.options=g(t)},getState:()=>i.options.state,setState:e=>{null==i.options.onStateChange||i.options.onStateChange(e)},_getRowId:(e,t,l)=>{var n;return null!=(n=null==i.options.getRowId?void 0:i.options.getRowId(e,t,l))?n:`${l?[l.id,t].join("."):t}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(e,t)=>{let l=(t?i.getPrePaginationRowModel():i.getRowModel()).rowsById[e];if(!l&&!(l=i.getCoreRowModel().rowsById[e]))throw Error();return l},_getDefaultColumnDef:r(()=>[i.options.defaultColumn],e=>{var t;return e=null!=(t=e)?t:{},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t,l;return null!=(t=null==(l=e.renderValue())||null==l.toString?void 0:l.toString())?t:null},...i._features.reduce((e,t)=>Object.assign(e,null==t.getDefaultColumnDef?void 0:t.getDefaultColumnDef()),{}),...e}},u(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>i.options.columns,getAllColumns:r(()=>[i._getColumnDefs()],e=>{let t=function(e,l,n){return void 0===n&&(n=0),e.map(e=>{let o=function(e,t,l,n){var o,i;let a;let g={...e._getDefaultColumnDef(),...t},s=g.accessorKey,d=null!=(o=null!=(i=g.id)?i:s?"function"==typeof String.prototype.replaceAll?s.replaceAll(".","_"):s.replace(/\./g,"_"):void 0)?o:"string"==typeof g.header?g.header:void 0;if(g.accessorFn?a=g.accessorFn:s&&(a=s.includes(".")?e=>{let t=e;for(let e of s.split(".")){var l;t=null==(l=t)?void 0:l[e]}return t}:e=>e[g.accessorKey]),!d)throw Error();let p={id:`${String(d)}`,accessorFn:a,parent:n,depth:l,columnDef:g,columns:[],getFlatColumns:r(()=>[!0],()=>{var e;return[p,...null==(e=p.columns)?void 0:e.flatMap(e=>e.getFlatColumns())]},u(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:r(()=>[e._getOrderColumnsFn()],e=>{var t;return null!=(t=p.columns)&&t.length?e(p.columns.flatMap(e=>e.getLeafColumns())):[p]},u(e.options,"debugColumns","column.getLeafColumns"))};for(let t of e._features)null==t.createColumn||t.createColumn(p,e);return p}(i,e,n,l);return o.columns=e.columns?t(e.columns,o,n+1):[],o})};return t(e)},u(e,"debugColumns","getAllColumns")),getAllFlatColumns:r(()=>[i.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),u(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:r(()=>[i.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),u(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:r(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),u(e,"debugColumns","getAllLeafColumns")),getColumn:e=>i._getAllFlatColumnsById()[e]};Object.assign(i,c);for(let e=0;e<i._features.length;e++){let t=i._features[e];null==t||null==t.createTable||t.createTable(i)}return i}function N(){return e=>r(()=>[e.options.data],t=>{let l={rows:[],flatRows:[],rowsById:{}},n=function(t,o,i){void 0===o&&(o=0);let r=[];for(let a=0;a<t.length;a++){let g=d(e,e._getRowId(t[a],a,i),t[a],a,o,void 0,null==i?void 0:i.id);if(l.flatRows.push(g),l.rowsById[g.id]=g,r.push(g),e.options.getSubRows){var u;g.originalSubRows=e.options.getSubRows(t[a],a),null!=(u=g.originalSubRows)&&u.length&&(g.subRows=n(g.originalSubRows,o+1,g))}}return r};return l.rows=n(t),l},u(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function U(){return e=>r(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,l,n)=>{var o,i;let r,u;if(!t.rows.length||!(null!=l&&l.length)&&!n){for(let e=0;e<t.flatRows.length;e++)t.flatRows[e].columnFilters={},t.flatRows[e].columnFiltersMeta={};return t}let a=[],g=[];(null!=l?l:[]).forEach(t=>{var l;let n=e.getColumn(t.id);if(!n)return;let o=n.getFilterFn();o&&a.push({id:t.id,filterFn:o,resolvedValue:null!=(l=null==o.resolveFilterValue?void 0:o.resolveFilterValue(t.value))?l:t.value})});let s=(null!=l?l:[]).map(e=>e.id),p=e.getGlobalFilterFn(),c=e.getAllLeafColumns().filter(e=>e.getCanGlobalFilter());n&&p&&c.length&&(s.push("__global__"),c.forEach(e=>{var t;g.push({id:e.id,filterFn:p,resolvedValue:null!=(t=null==p.resolveFilterValue?void 0:p.resolveFilterValue(n))?t:n})}));for(let e=0;e<t.flatRows.length;e++){let l=t.flatRows[e];if(l.columnFilters={},a.length)for(let e=0;e<a.length;e++){let t=(r=a[e]).id;l.columnFilters[t]=r.filterFn(l,t,r.resolvedValue,e=>{l.columnFiltersMeta[t]=e})}if(g.length){for(let e=0;e<g.length;e++){let t=(u=g[e]).id;if(u.filterFn(l,t,u.resolvedValue,e=>{l.columnFiltersMeta[t]=e})){l.columnFilters.__global__=!0;break}}!0!==l.columnFilters.__global__&&(l.columnFilters.__global__=!1)}}return o=t.rows,i=e=>{for(let t=0;t<s.length;t++)if(!1===e.columnFilters[s[t]])return!1;return!0},e.options.filterFromLeafRows?function(e,t,l){var n;let o=[],i={},r=null!=(n=l.options.maxLeafRowFilterDepth)?n:100,u=function(e,n){void 0===n&&(n=0);let a=[];for(let s=0;s<e.length;s++){var g;let p=e[s],c=d(l,p.id,p.original,p.index,p.depth,void 0,p.parentId);if(c.columnFilters=p.columnFilters,null!=(g=p.subRows)&&g.length&&n<r){if(c.subRows=u(p.subRows,n+1),t(p=c)&&!c.subRows.length||t(p)||c.subRows.length){a.push(p),i[p.id]=p,o.push(p);continue}}else t(p=c)&&(a.push(p),i[p.id]=p,o.push(p))}return a};return{rows:u(e),flatRows:o,rowsById:i}}(o,i,e):function(e,t,l){var n;let o=[],i={},r=null!=(n=l.options.maxLeafRowFilterDepth)?n:100,u=function(e,n){void 0===n&&(n=0);let a=[];for(let s=0;s<e.length;s++){let p=e[s];if(t(p)){var g;if(null!=(g=p.subRows)&&g.length&&n<r){let e=d(l,p.id,p.original,p.index,p.depth,void 0,p.parentId);e.subRows=u(p.subRows,n+1),p=e}a.push(p),o.push(p),i[p.id]=p}}return a};return{rows:u(e),flatRows:o,rowsById:i}}(o,i,e)},u(e.options,"debugTable","getFilteredRowModel",()=>e._autoResetPageIndex()))}function $(){return e=>r(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,l)=>{if(!l.rows.length||!(null!=t&&t.length))return l;let n=e.getState().sorting,o=[],i=n.filter(t=>{var l;return null==(l=e.getColumn(t.id))?void 0:l.getCanSort()}),r={};i.forEach(t=>{let l=e.getColumn(t.id);l&&(r[t.id]={sortUndefined:l.columnDef.sortUndefined,invertSorting:l.columnDef.invertSorting,sortingFn:l.getSortingFn()})});let u=e=>{let t=e.map(e=>({...e}));return t.sort((e,t)=>{for(let n=0;n<i.length;n+=1){var l;let o=i[n],u=r[o.id],a=u.sortUndefined,g=null!=(l=null==o?void 0:o.desc)&&l,s=0;if(a){let l=e.getValue(o.id),n=t.getValue(o.id),i=void 0===l,r=void 0===n;if(i||r){if("first"===a)return i?-1:1;if("last"===a)return i?1:-1;s=i&&r?0:i?a:-a}}if(0===s&&(s=u.sortingFn(e,t,o.id)),0!==s)return g&&(s*=-1),u.invertSorting&&(s*=-1),s}return e.index-t.index}),t.forEach(e=>{var t;o.push(e),null!=(t=e.subRows)&&t.length&&(e.subRows=u(e.subRows))}),t};return{rows:u(l.rows),flatRows:o,rowsById:l.rowsById}},u(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8928],{93775:function(e,t,r){r.d(t,{i:function(){return n}});var l=r(37821),s=r(58078);function n(e){let{file:t,lineStart:r,lineEnd:n,snippet:i}=e,[a,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(null!=i?i:null),[x,f]=(0,s.useState)(!1),[m,p]=(0,s.useState)(null),h="".concat(t,":").concat(r).concat(n&&n!==r?"-".concat(n):""),b=async()=>{if(c(!0),!d){f(!0);try{let e=new URLSearchParams({file:t,start:String(Math.max(1,r-3)),end:String((null!=n?n:r)+3)}),l=await fetch("/api/code?".concat(e));if(!l.ok)throw Error("Failed to load source");let s=await l.json();u(s.code)}catch(e){p(e instanceof Error?e.message:"Failed to load")}finally{f(!1)}}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("button",{type:"button",onClick:b,className:"font-mono text-caption text-accent hover:underline focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent rounded-sm",children:h}),a&&(0,l.jsx)(o,{onClose:()=>c(!1),children:(0,l.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Source code: ".concat(h),className:"relative max-h-[80vh] w-full max-w-3xl overflow-auto border border-border-emphasis bg-surface-1 shadow-2xl",style:{borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-accent)"},onClick:e=>e.stopPropagation(),children:[(0,l.jsxs)("div",{className:"sticky top-0 flex items-center justify-between border-b border-border-default bg-surface-2 px-sp-4 py-sp-3",children:[(0,l.jsx)("span",{className:"font-mono text-body text-text-primary",children:h}),(0,l.jsx)("button",{type:"button",onClick:()=>c(!1),"aria-label":"Close",className:"rounded p-1 text-text-tertiary hover:bg-surface-3 hover:text-text-primary focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",children:(0,l.jsx)("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),(0,l.jsxs)("div",{className:"p-sp-4",children:[x&&(0,l.jsx)("p",{className:"text-body text-text-secondary",children:"Loading..."}),m&&(0,l.jsx)("p",{className:"text-body text-severity-critical",children:m}),d&&(0,l.jsx)("pre",{className:"overflow-x-auto rounded-md bg-surface-0 p-sp-4 text-caption leading-relaxed text-text-secondary",children:d.split("\n").map((e,t)=>{let s=Math.max(1,r-3)+t,o=s>=r&&s<=(null!=n?n:r);return(0,l.jsxs)("div",{className:o?"bg-accent/10":"",children:[(0,l.jsx)("span",{className:"mr-4 inline-block w-10 select-none text-right text-text-tertiary",children:s}),e]},t)})})]})]})})]})}function o(e){let{onClose:t,children:r}=e,n=(0,s.useRef)(null);return(0,s.useEffect)(()=>{var e;null===(e=n.current)||void 0===e||e.focus()},[]),(0,l.jsx)("div",{ref:n,tabIndex:-1,className:"fixed inset-0 z-50 flex items-center justify-center outline-none",style:{background:"var(--overlay-bg)"},onClick:t,onKeyDown:e=>{"Escape"===e.key&&t()},children:r})}},35640:function(e,t,r){r.d(t,{v:function(){return i}});var l=r(37821),s=r(58078),n=r(18452),o=r(73299);function i(e){let{columns:t,data:r,title:i,defaultOpen:a=!0,rowClassName:c,onRowClick:d,expandedRow:u}=e,[x,f]=(0,s.useState)(a),[m,p]=(0,s.useState)([]),[h,b]=(0,s.useState)([]),[v,g]=(0,s.useState)(null),y=(0,s.useMemo)(()=>t.map(e=>{var t;return{id:e.id,accessorKey:e.accessorKey,header:e.header,enableColumnFilter:null!==(t=e.enableColumnFilter)&&void 0!==t&&t,filterFn:e.enableColumnFilter?"equalsString":void 0,...e.sortingFn?{sortingFn:e.sortingFn}:{},cell:e.cell?t=>{let{row:r}=t;return e.cell(r.original)}:e=>{var t;let{getValue:r}=e;return(0,l.jsx)("span",{className:"text-text-primary",children:String(null!==(t=r())&&void 0!==t?t:"")})}}}),[t]),j=(0,n.b7)({data:r,columns:y,state:{sorting:m,columnFilters:h},onSortingChange:p,onColumnFiltersChange:b,getCoreRowModel:(0,o.sC)(),getFilteredRowModel:(0,o.vL)(),getSortedRowModel:(0,o.tj)()}),w=(0,s.useMemo)(()=>{let e={};for(let l of t){if(!l.enableColumnFilter)continue;let t=new Set;for(let e of r){let r=e[l.accessorKey];null!=r&&t.add(String(r))}let s=[...t];if(l.filterOrder){let e=l.filterOrder;s.sort((t,r)=>{let l=e.indexOf(t),s=e.indexOf(r);return(-1===l?999:l)-(-1===s?999:s)})}else s.sort();e[l.id]=s}return e},[t,r]),N=t.filter(e=>e.enableColumnFilter);return(0,l.jsxs)("div",{className:"overflow-hidden border border-border-default",style:{borderRadius:"var(--radius-sm)"},children:[i&&(0,l.jsxs)("button",{type:"button",onClick:()=>f(!x),"aria-expanded":x,className:"flex w-full items-center justify-between bg-surface-2 px-sp-4 py-sp-3 text-left hover:bg-surface-3",children:[(0,l.jsxs)("span",{className:"text-heading font-medium text-text-primary",children:[i," (",r.length,")"]}),(0,l.jsx)("svg",{className:"h-4 w-4 text-text-tertiary ".concat(x?"rotate-180":""),"aria-hidden":"true",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),x&&(0,l.jsxs)(l.Fragment,{children:[N.length>0&&(0,l.jsx)("div",{className:"flex flex-wrap gap-2 border-b border-border-subtle bg-surface-1 px-sp-4 py-sp-2",children:N.map(e=>{var t;let s=h.find(t=>t.id===e.id);return(0,l.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(0,l.jsxs)("button",{type:"button",onClick:()=>b(t=>t.filter(t=>t.id!==e.id)),"aria-pressed":!(null==s?void 0:s.value),className:"rounded-md px-3 py-1.5 text-caption font-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ".concat((null==s?void 0:s.value)?"bg-surface-3 text-text-secondary hover:text-text-primary":"bg-accent text-surface-0"),children:["All ",e.header]}),(null!==(t=w[e.id])&&void 0!==t?t:[]).map(t=>{let n=r.filter(r=>String(r[e.accessorKey])===t).length,o=(null==s?void 0:s.value)===t;return(0,l.jsxs)("button",{type:"button",onClick:()=>b(r=>{let l=r.filter(t=>t.id!==e.id);return o?l:[...l,{id:e.id,value:t}]}),"aria-pressed":o,className:"rounded-md px-3 py-1.5 text-caption font-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ".concat(o?"bg-accent text-surface-0":"bg-surface-3 text-text-secondary hover:text-text-primary"),children:[t,(0,l.jsx)("span",{className:"ml-1 opacity-60",children:n})]},t)})]},e.id)})}),(0,l.jsx)("div",{className:"overflow-x-auto",children:(0,l.jsxs)("table",{className:"w-full text-left text-body",children:[(0,l.jsx)("thead",{className:"border-b border-border-default bg-surface-2 text-caption font-medium uppercase tracking-wider text-text-tertiary",children:(0,l.jsx)("tr",{children:j.getHeaderGroups().map(e=>e.headers.map(e=>(0,l.jsx)("th",{scope:"col","aria-sort":"asc"===e.column.getIsSorted()?"ascending":"desc"===e.column.getIsSorted()?"descending":void 0,className:"cursor-pointer select-none px-sp-4 py-sp-2 hover:text-text-secondary",onClick:e.column.getToggleSortingHandler(),children:(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.ie)(e.column.columnDef.header,e.getContext()),"asc"===e.column.getIsSorted()&&(0,l.jsx)("svg",{className:"h-3 w-3","aria-hidden":"true",viewBox:"0 0 12 12",fill:"currentColor",children:(0,l.jsx)("path",{d:"M6 2l4 5H2z"})}),"desc"===e.column.getIsSorted()&&(0,l.jsx)("svg",{className:"h-3 w-3","aria-hidden":"true",viewBox:"0 0 12 12",fill:"currentColor",children:(0,l.jsx)("path",{d:"M6 10l4-5H2z"})})]})},e.id)))})}),(0,l.jsx)("tbody",{className:"divide-y divide-border-subtle",children:j.getRowModel().rows.map(e=>{let r=e.original,o=r.id?String(r.id):e.id,i=v===o,a=!!d||!!u;return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)("tr",{className:"".concat(c?c(r):"bg-surface-1 hover:bg-surface-3"," ").concat(a?"cursor-pointer":""),role:a?"button":void 0,tabIndex:a?0:void 0,"aria-expanded":u?i:void 0,onClick:()=>{u&&g(i?null:o),null==d||d(r)},onKeyDown:a?e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),u&&g(i?null:o),null==d||d(r))}:void 0,children:e.getVisibleCells().map(e=>(0,l.jsx)("td",{className:"h-9 px-sp-4 py-sp-2",children:(0,n.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),u&&i&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:t.length,className:"bg-surface-0 px-sp-5 py-sp-4",children:u(r)})})]},e.id)})})]})})]})]})}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2980],{77455:function(e,t,n){Promise.resolve().then(n.bind(n,13037))},13037:function(e,t,n){"use strict";n.d(t,{AccessClient:function(){return x}});var a=n(37821),s=n(58078),i=n(35640),c=n(93775),r=n(28628);let l={access_control:"bg-accent-subtle text-accent",state_check:"bg-[var(--medium)]/15 text-[var(--medium)]",guard:"bg-[var(--low)]/15 text-[var(--low)]",unknown:"bg-[var(--neutral)]/15 text-[var(--neutral)]"};function o(e){var t;return null===(t=e.is_likely_access_control)||void 0===t||t}let d={external:"bg-[var(--critical)]/15 text-[var(--critical)]",public:"bg-[var(--high)]/15 text-[var(--high)]",internal:"bg-[var(--low)]/15 text-[var(--low)]",private:"bg-[var(--neutral)]/15 text-[var(--neutral)]"};function u(e){var t;let{visibility:n}=e,s=null!==(t=d[n])&&void 0!==t?t:"bg-[var(--neutral)]/15 text-[var(--neutral)]";return(0,a.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(s),children:n})}let m=["All","State-Changing","Read-Only"];function x(e){let{writeFunctions:t,readOnlyFunctions:n,anyoneFnKeys:d,otherRoles:x,allRoles:p}=e,[f,h]=(0,s.useState)("All"),[b,v]=(0,s.useState)(!1),[g,y]=(0,s.useState)(!1),j=(0,s.useMemo)(()=>new Set(d),[d]),N=(0,s.useMemo)(()=>x.filter(e=>!o(e)),[x]),w=(0,s.useMemo)(()=>g?x:x.filter(o),[x,g]),C=(0,s.useMemo)(()=>{let e=new Map;for(let n of p)if(o(n))for(let a of n.functions){var t;let s="".concat(a.contract,"::").concat(a.function),i=null!==(t=e.get(s))&&void 0!==t?t:[];i.push(n.role),e.set(s,i)}return e},[p]),_=(0,s.useMemo)(()=>[...t,...n],[t,n]),k=(0,s.useMemo)(()=>t.filter(e=>j.has("".concat(e.contract,"::").concat(e.function))),[t,j]),M=(0,s.useMemo)(()=>{switch(f){case"All":return _;case"State-Changing":return b?k:t;case"Read-Only":return n}},[f,b,_,t,n,k]),S="All"===f||"Read-Only"===f,A=(0,s.useMemo)(()=>(function(e,t,n){let s=[{id:"contract",header:"Contract",accessorKey:"contract",enableColumnFilter:!0,cell:e=>(0,a.jsx)("span",{className:"font-medium text-text-primary",children:e.contract})},{id:"function",header:"Function",accessorKey:"function",cell:e=>(0,a.jsx)("span",{className:"font-mono text-body text-text-secondary",children:e.function})},{id:"caller",header:"Who can call",accessorKey:"function",cell:n=>{var s;let i="".concat(n.contract,"::").concat(n.function),c=null!==(s=t.get(i))&&void 0!==s?s:[],r=e.has(i);return 0!==c.length||r?(0,a.jsxs)("div",{className:"flex flex-wrap gap-1",children:[r&&(0,a.jsx)("span",{className:"inline-flex items-center rounded-md bg-[var(--critical)]/10 px-2 py-0.5 text-caption font-medium text-[var(--critical)]",children:"Anyone"}),c.filter(e=>"anyone"!==e.toLowerCase()&&"public"!==e.toLowerCase()).map(e=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-md bg-accent-subtle px-2 py-0.5 text-caption font-medium text-accent",children:e},e))]}):(0,a.jsx)("span",{className:"text-text-tertiary",children:"--"})}},{id:"visibility",header:"Visibility",accessorKey:"visibility",enableColumnFilter:!0,cell:e=>(0,a.jsx)(u,{visibility:e.visibility})}];return n&&s.push({id:"mutability",header:"Mutability",accessorKey:"state_mutability",cell:e=>{var t;return(0,a.jsx)("span",{className:"text-caption text-text-tertiary",children:null!==(t=e.state_mutability)&&void 0!==t?t:"--"})}}),s.push({id:"modifiers",header:"Modifiers",accessorKey:"modifiers",cell:e=>e.modifiers.length>0?(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.modifiers.map(e=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-sm bg-surface-3 px-2 py-0.5 text-caption text-text-secondary",children:e},e))}):(0,a.jsx)("span",{className:"text-text-tertiary",children:"--"})},{id:"location",header:"Location",accessorKey:"evidence",cell:e=>(0,a.jsx)(c.i,{file:e.evidence.file,lineStart:e.evidence.line_start,lineEnd:e.evidence.line_end,snippet:e.evidence.snippet})}),s})(j,C,S),[j,C,S]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"mb-sp-5 flex flex-wrap items-center gap-sp-3",children:[(0,a.jsx)("div",{className:"inline-flex overflow-x-auto rounded-md bg-surface-3 p-1",children:m.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>{h(e),"State-Changing"!==e&&v(!1)},className:"whitespace-nowrap rounded-sm px-sp-3 py-1.5 text-body font-medium ".concat(f===e?"bg-surface-2 text-text-primary shadow-sm":"text-text-secondary hover:text-text-primary"),children:[e,(0,a.jsxs)("span",{className:"ml-1.5 text-caption opacity-60",children:["All"===e&&_.length,"State-Changing"===e&&t.length,"Read-Only"===e&&n.length]})]},e))}),"State-Changing"===f&&k.length>0&&(0,a.jsxs)("button",{type:"button",onClick:()=>v(e=>!e),className:"rounded-sm px-sp-3 py-1.5 text-body font-medium ".concat(b?"bg-[var(--critical)]/15 text-[var(--critical)] shadow-sm":"bg-surface-3 text-text-secondary hover:text-text-primary"),children:["Unprotected only",(0,a.jsx)("span",{className:"ml-1.5 text-caption opacity-60",children:k.length})]})]}),(0,a.jsx)("div",{className:"mb-sp-6",children:(0,a.jsx)(i.v,{columns:A,data:M,defaultOpen:!0,rowClassName:e=>{let t="".concat(e.contract,"::").concat(e.function);return j.has(t)?"bg-[var(--critical)]/5 hover:bg-[var(--critical)]/10":"bg-surface-1 hover:bg-surface-3"}})}),x.length>0&&(0,a.jsxs)("div",{className:"mb-sp-6",children:[(0,a.jsxs)("div",{className:"mb-sp-3 flex items-center justify-between gap-sp-3",children:[(0,a.jsxs)("h3",{className:"text-heading font-medium text-text-primary",children:["Roles",(0,a.jsxs)("span",{className:"ml-2 text-caption font-normal text-text-tertiary",children:[w.length," shown \xb7 ",N.length," inferred / unknown hidden"]})]}),N.length>0&&(0,a.jsxs)("button",{type:"button",onClick:()=>y(e=>!e),"aria-pressed":g,className:"rounded-md px-3 py-1.5 text-caption font-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ".concat(g?"bg-accent text-surface-0":"bg-surface-3 text-text-secondary hover:text-text-primary"),children:[g?"Hide":"Show"," inferred / unknown (",N.length,")"]})]}),(0,a.jsx)("div",{className:"grid gap-sp-3 sm:grid-cols-2",children:w.map(e=>(0,a.jsxs)("div",{className:"rounded-md border bg-surface-2 p-sp-4 ".concat(o(e)?"border-border-default":"border-dashed border-border-emphasis opacity-90"),children:[(0,a.jsxs)("div",{className:"mb-sp-2 flex items-center justify-between gap-sp-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-sp-2",children:[(0,a.jsx)("h4",{className:"text-heading font-medium text-text-primary",children:e.role}),e.kind&&(0,a.jsx)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(l[e.kind]),children:e.kind.replace("_"," ")})]}),(0,a.jsx)(r.o,{level:e.confidence,derivedFrom:e.derived_from})]}),(0,a.jsx)("p",{className:"mb-sp-3 text-body text-text-secondary",children:e.description}),e.modifier&&(0,a.jsxs)("p",{className:"mb-sp-2 text-caption text-text-tertiary",children:["Modifier:"," ",(0,a.jsx)("code",{className:"rounded-sm bg-surface-0 px-1.5 py-0.5 text-text-secondary",children:e.modifier})]}),e.functions.length>0&&(0,a.jsxs)("div",{className:"mb-sp-2",children:[(0,a.jsxs)("p",{className:"mb-1 text-caption font-medium uppercase text-text-tertiary",children:["Functions (",e.functions.length,")"]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.functions.map(e=>(0,a.jsxs)("span",{className:"inline-flex items-center rounded-sm bg-surface-3 px-2 py-0.5 font-mono text-caption text-text-secondary",children:[e.contract,".",e.function]},"".concat(e.contract,"::").concat(e.function)))})]}),e.warnings.length>0&&(0,a.jsx)("div",{className:"mt-sp-2 space-y-1 border-t border-border-subtle pt-sp-2",children:e.warnings.map((e,t)=>(0,a.jsx)("p",{className:"text-caption text-[var(--medium)]",children:e},t))})]},e.role))})]})]})}},28628:function(e,t,n){"use strict";n.d(t,{o:function(){return c}});var a=n(37821),s=n(58078);let i={high:"bg-[var(--success)]/15 text-[var(--success)]",medium:"bg-[var(--medium)]/15 text-[var(--medium)]",low:"bg-[var(--critical)]/15 text-[var(--critical)]"};function c(e){var t;let{level:n,derivedFrom:c}=e,[r,l]=(0,s.useState)(!1),o=null!==(t=i[n.toLowerCase()])&&void 0!==t?t:i.low,d=c?"confidence-".concat(n,"-").concat(c.replace(/\W+/g,"-")):void 0,u=c?"".concat(n," confidence, derived from ").concat(c):"".concat(n," confidence");return(0,a.jsxs)("span",{className:"relative inline-block focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent rounded-md",tabIndex:c?0:void 0,role:c?"group":void 0,"aria-label":u,"aria-describedby":r&&d?d:void 0,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocus:()=>l(!0),onBlur:()=>l(!1),children:[(0,a.jsx)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(o),children:n}),c&&r&&(0,a.jsxs)("span",{id:d,role:"tooltip",className:"absolute bottom-full left-1/2 z-50 mb-2 -translate-x-1/2 whitespace-nowrap rounded-md border border-border-default bg-surface-3 px-2 py-1 text-caption text-text-secondary shadow-lg",children:["Derived from: ",c]})]})}}},function(e){e.O(0,[8452,8928,7115,3205,1744],function(){return e(e.s=77455)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1780],{78883:function(e,t,r){Promise.resolve().then(r.bind(r,93362))},93362:function(e,t,r){"use strict";r.d(t,{CallsClient:function(){return i}});var l=r(37821),s=r(35640);let n={external:"bg-[var(--critical)]/15 text-[var(--critical)]",untrusted:"bg-[var(--critical)]/15 text-[var(--critical)]","semi-trusted":"bg-[var(--medium)]/15 text-[var(--medium)]",semi_trusted:"bg-[var(--medium)]/15 text-[var(--medium)]",trusted:"bg-[var(--success)]/15 text-[var(--success)]"};function a(e){var t;let{trust:r}=e,s=null!==(t=n[r.toLowerCase()])&&void 0!==t?t:"bg-[var(--neutral)]/15 text-[var(--neutral)]";return(0,l.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(s),children:r})}let c=[{id:"contract",header:"Contract",accessorKey:"contract",enableColumnFilter:!0,cell:e=>(0,l.jsx)("span",{className:"font-medium text-text-primary",children:e.contract})},{id:"function",header:"Function",accessorKey:"fn",cell:e=>(0,l.jsx)("span",{className:"font-mono text-body text-text-secondary",children:e.fn})},{id:"call",header:"Call",accessorKey:"call",cell:e=>(0,l.jsx)("span",{className:"font-mono text-body text-text-secondary",children:e.call})},{id:"return_checked",header:"Return Checked",accessorKey:"return_checked",cell:e=>(0,l.jsx)("span",{className:e.return_checked?"text-[var(--success)]":"text-[var(--critical)]",children:e.return_checked?"Yes":"No"})},{id:"call_type",header:"Call Type",accessorKey:"call_type",enableColumnFilter:!0,cell:e=>(0,l.jsx)("span",{className:"inline-flex items-center rounded-sm bg-surface-3 px-2 py-0.5 text-caption text-text-secondary",children:e.call_type})},{id:"trust",header:"Trust",accessorKey:"trust",enableColumnFilter:!0,cell:e=>(0,l.jsx)(a,{trust:e.trust})}];function i(e){let{calls:t}=e,r=t.map(e=>{var t;return{contract:e.contract,fn:e.function,call:"".concat(e.target,".").concat(e.method,"()"),return_checked:!0===(t=e.return_checked.value)||"true"===t||"yes"===t,call_type:e.call_type,trust:String(e.trust_level.value)}}),n={};for(let e of r){var i;n[e.trust]=(null!==(i=n[e.trust])&&void 0!==i?i:0)+1}let o=r.filter(e=>!e.return_checked).length;return(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"mb-sp-5 text-title font-semibold text-text-primary",children:"External Calls"}),(0,l.jsxs)("p",{className:"mb-sp-3 text-body text-text-secondary",children:[r.length," external call",1!==r.length?"s":""," found"]}),(0,l.jsxs)("div",{className:"mb-sp-5 grid grid-cols-2 gap-sp-3 sm:grid-cols-4",children:[Object.entries(n).map(e=>{let[t,r]=e;return(0,l.jsxs)("div",{className:"rounded-md border border-border-default bg-surface-2 p-sp-4",children:[(0,l.jsx)("div",{className:"text-display text-text-primary",children:r}),(0,l.jsx)("div",{className:"mt-1",children:(0,l.jsx)(a,{trust:t})})]},t)}),o>0&&(0,l.jsxs)("div",{className:"rounded-md border border-[var(--critical)]/30 bg-[var(--critical)]/5 p-sp-4",children:[(0,l.jsx)("div",{className:"text-display text-[var(--critical)]",children:o}),(0,l.jsx)("div",{className:"mt-1 text-caption text-[var(--critical)]/70",children:"Unchecked returns"})]})]}),(0,l.jsx)(s.v,{columns:c,data:r,defaultOpen:!0})]})}},35640:function(e,t,r){"use strict";r.d(t,{v:function(){return c}});var l=r(37821),s=r(58078),n=r(18452),a=r(73299);function c(e){let{columns:t,data:r,title:c,defaultOpen:i=!0,rowClassName:o,onRowClick:d,expandedRow:u}=e,[x,m]=(0,s.useState)(i),[p,f]=(0,s.useState)([]),[h,v]=(0,s.useState)([]),[b,g]=(0,s.useState)(null),y=(0,s.useMemo)(()=>t.map(e=>{var t;return{id:e.id,accessorKey:e.accessorKey,header:e.header,enableColumnFilter:null!==(t=e.enableColumnFilter)&&void 0!==t&&t,filterFn:e.enableColumnFilter?"equalsString":void 0,...e.sortingFn?{sortingFn:e.sortingFn}:{},cell:e.cell?t=>{let{row:r}=t;return e.cell(r.original)}:e=>{var t;let{getValue:r}=e;return(0,l.jsx)("span",{className:"text-text-primary",children:String(null!==(t=r())&&void 0!==t?t:"")})}}}),[t]),j=(0,n.b7)({data:r,columns:y,state:{sorting:p,columnFilters:h},onSortingChange:f,onColumnFiltersChange:v,getCoreRowModel:(0,a.sC)(),getFilteredRowModel:(0,a.vL)(),getSortedRowModel:(0,a.tj)()}),N=(0,s.useMemo)(()=>{let e={};for(let l of t){if(!l.enableColumnFilter)continue;let t=new Set;for(let e of r){let r=e[l.accessorKey];null!=r&&t.add(String(r))}let s=[...t];if(l.filterOrder){let e=l.filterOrder;s.sort((t,r)=>{let l=e.indexOf(t),s=e.indexOf(r);return(-1===l?999:l)-(-1===s?999:s)})}else s.sort();e[l.id]=s}return e},[t,r]),C=t.filter(e=>e.enableColumnFilter);return(0,l.jsxs)("div",{className:"overflow-hidden border border-border-default",style:{borderRadius:"var(--radius-sm)"},children:[c&&(0,l.jsxs)("button",{type:"button",onClick:()=>m(!x),"aria-expanded":x,className:"flex w-full items-center justify-between bg-surface-2 px-sp-4 py-sp-3 text-left hover:bg-surface-3",children:[(0,l.jsxs)("span",{className:"text-heading font-medium text-text-primary",children:[c," (",r.length,")"]}),(0,l.jsx)("svg",{className:"h-4 w-4 text-text-tertiary ".concat(x?"rotate-180":""),"aria-hidden":"true",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),x&&(0,l.jsxs)(l.Fragment,{children:[C.length>0&&(0,l.jsx)("div",{className:"flex flex-wrap gap-2 border-b border-border-subtle bg-surface-1 px-sp-4 py-sp-2",children:C.map(e=>{var t;let s=h.find(t=>t.id===e.id);return(0,l.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(0,l.jsxs)("button",{type:"button",onClick:()=>v(t=>t.filter(t=>t.id!==e.id)),"aria-pressed":!(null==s?void 0:s.value),className:"rounded-md px-3 py-1.5 text-caption font-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ".concat((null==s?void 0:s.value)?"bg-surface-3 text-text-secondary hover:text-text-primary":"bg-accent text-surface-0"),children:["All ",e.header]}),(null!==(t=N[e.id])&&void 0!==t?t:[]).map(t=>{let n=r.filter(r=>String(r[e.accessorKey])===t).length,a=(null==s?void 0:s.value)===t;return(0,l.jsxs)("button",{type:"button",onClick:()=>v(r=>{let l=r.filter(t=>t.id!==e.id);return a?l:[...l,{id:e.id,value:t}]}),"aria-pressed":a,className:"rounded-md px-3 py-1.5 text-caption font-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ".concat(a?"bg-accent text-surface-0":"bg-surface-3 text-text-secondary hover:text-text-primary"),children:[t,(0,l.jsx)("span",{className:"ml-1 opacity-60",children:n})]},t)})]},e.id)})}),(0,l.jsx)("div",{className:"overflow-x-auto",children:(0,l.jsxs)("table",{className:"w-full text-left text-body",children:[(0,l.jsx)("thead",{className:"border-b border-border-default bg-surface-2 text-caption font-medium uppercase tracking-wider text-text-tertiary",children:(0,l.jsx)("tr",{children:j.getHeaderGroups().map(e=>e.headers.map(e=>(0,l.jsx)("th",{scope:"col","aria-sort":"asc"===e.column.getIsSorted()?"ascending":"desc"===e.column.getIsSorted()?"descending":void 0,className:"cursor-pointer select-none px-sp-4 py-sp-2 hover:text-text-secondary",onClick:e.column.getToggleSortingHandler(),children:(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.ie)(e.column.columnDef.header,e.getContext()),"asc"===e.column.getIsSorted()&&(0,l.jsx)("svg",{className:"h-3 w-3","aria-hidden":"true",viewBox:"0 0 12 12",fill:"currentColor",children:(0,l.jsx)("path",{d:"M6 2l4 5H2z"})}),"desc"===e.column.getIsSorted()&&(0,l.jsx)("svg",{className:"h-3 w-3","aria-hidden":"true",viewBox:"0 0 12 12",fill:"currentColor",children:(0,l.jsx)("path",{d:"M6 10l4-5H2z"})})]})},e.id)))})}),(0,l.jsx)("tbody",{className:"divide-y divide-border-subtle",children:j.getRowModel().rows.map(e=>{let r=e.original,a=r.id?String(r.id):e.id,c=b===a,i=!!d||!!u;return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)("tr",{className:"".concat(o?o(r):"bg-surface-1 hover:bg-surface-3"," ").concat(i?"cursor-pointer":""),role:i?"button":void 0,tabIndex:i?0:void 0,"aria-expanded":u?c:void 0,onClick:()=>{u&&g(c?null:a),null==d||d(r)},onKeyDown:i?e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),u&&g(c?null:a),null==d||d(r))}:void 0,children:e.getVisibleCells().map(e=>(0,l.jsx)("td",{className:"h-9 px-sp-4 py-sp-2",children:(0,n.ie)(e.column.columnDef.cell,e.getContext())},e.id))}),u&&c&&(0,l.jsx)("tr",{children:(0,l.jsx)("td",{colSpan:t.length,className:"bg-surface-0 px-sp-5 py-sp-4",children:u(r)})})]},e.id)})})]})})]})]})}}},function(e){e.O(0,[8452,7115,3205,1744],function(){return e(e.s=78883)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5381],{42091:function(e,t,n){Promise.resolve().then(n.bind(n,71520))},71520:function(e,t,n){"use strict";n.d(t,{ChangesClient:function(){return v}});var r=n(37821),s=n(14233),a=n(35640),i=n(28628),c=n(93775),l=n(29487),o=n(32952);let d={added:"bg-accent-subtle text-accent",modified:"bg-[var(--high)]/18 text-[var(--high)]",removed:"bg-[var(--critical)]/18 text-[var(--critical)]",comments_only:"bg-surface-3 text-text-tertiary"},x={added:"Added",modified:"Modified",removed:"Removed",comments_only:"Comments only"};function m(e){let{className:t,children:n}=e;return(0,r.jsx)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(t),children:n})}function h(e){var t,n;let{change:s}=e;return(0,r.jsx)(m,{className:null!==(t=d[s])&&void 0!==t?t:d.comments_only,children:null!==(n=x[s])&&void 0!==n?n:s})}let u={changed:"Changed",calls:"Calls",modifier:"Uses modifier",reads_state:"Reads state",override:"Dispatches to",inherits:"Inherits"},p={regressed:{label:"Regressed",className:"bg-[var(--critical)]/18 text-[var(--critical)]"},acknowledged_still_present:{label:"Still present",className:"bg-[var(--medium)]/18 text-[var(--medium)]"},fix_touched_ok:{label:"Fix touched, holds",className:"bg-accent-subtle text-accent"},fixed_unchanged:{label:"Fixed, untouched",className:"bg-surface-3 text-text-secondary"},code_removed:{label:"Code removed",className:"bg-surface-3 text-text-tertiary"}};function f(e){let{label:t,value:n,tone:s}=e;return(0,r.jsxs)("div",{className:"rounded-lg border p-4 ".concat("warn"===s?"border-[var(--high)]/30 bg-[var(--high)]/5":"border-border-subtle bg-surface-1"),children:[(0,r.jsx)("div",{className:"text-display scale-in ".concat("warn"===s?"text-[var(--high)]":"text-text-primary"),children:n}),(0,r.jsx)("div",{className:"mt-1 text-caption text-text-secondary",children:t})]})}function b(e){let{title:t,children:n}=e;return(0,r.jsxs)("section",{className:"mb-sp-6",children:[(0,r.jsx)("h3",{className:"mb-sp-3 text-heading font-medium text-text-primary",children:t}),n]})}let y=[{id:"contract",header:"Contract",accessorKey:"contract",enableColumnFilter:!0,cell:e=>(0,r.jsx)("span",{className:"font-medium text-text-primary",children:e.contract})},{id:"entity",header:"Entity",accessorKey:"entity",cell:e=>(0,r.jsx)("code",{className:"font-mono text-body text-text-secondary",children:e.entity})},{id:"kind",header:"Kind",accessorKey:"kind",enableColumnFilter:!0,cell:e=>(0,r.jsx)("span",{className:"text-body text-text-secondary",children:e.kind.replace("_"," ")})},{id:"change",header:"Change",accessorKey:"change",enableColumnFilter:!0,filterOrder:["added","modified","removed","comments_only"],cell:e=>(0,r.jsx)(h,{change:e.change})},{id:"location",header:"Location",accessorKey:"file",cell:e=>"removed"!==e.change&&e.line_start?(0,r.jsx)(c.i,{file:e.file,lineStart:e.line_start,lineEnd:e.line_end}):(0,r.jsx)("code",{className:"font-mono text-caption text-text-tertiary",children:e.file})}],g=[{id:"contract",header:"Contract",accessorKey:"contract",enableColumnFilter:!0,cell:e=>(0,r.jsx)("span",{className:"font-medium text-text-primary",children:e.contract})},{id:"function",header:"Function",accessorKey:"function",cell:e=>(0,r.jsx)("code",{className:"font-mono text-body text-text-secondary",children:e.function})},{id:"entry",header:"Entry point",accessorKey:"entry",enableColumnFilter:!0,cell:e=>e.is_entry_point?(0,r.jsx)(m,{className:"bg-accent-subtle text-accent",children:"Entry point"}):(0,r.jsx)("span",{className:"text-caption text-text-tertiary",children:e.visibility})},{id:"depth",header:"Depth",accessorKey:"depth",cell:e=>(0,r.jsx)("span",{className:"text-body text-text-secondary",children:0===e.depth?"changed":e.depth})},{id:"reason",header:"Why",accessorKey:"reason",enableColumnFilter:!0,cell:e=>(0,r.jsxs)("div",{className:"space-y-0.5",children:[e.reasons.slice(0,2).map((e,t)=>{var n;return(0,r.jsxs)("div",{className:"text-caption text-text-secondary",children:[null!==(n=u[e.kind])&&void 0!==n?n:e.kind," ","changed"!==e.kind&&(0,r.jsx)("code",{className:"font-mono text-text-primary",children:e.via}),"changed"===e.kind&&(0,r.jsxs)("span",{className:"text-text-tertiary",children:["(",e.via,")"]})]},t)}),e.reasons.length>2&&(0,r.jsxs)("div",{className:"text-caption text-text-tertiary",children:["+",e.reasons.length-2," more"]})]})},{id:"confidence",header:"Confidence",accessorKey:"confidence",enableColumnFilter:!0,filterOrder:["high","medium","low"],cell:e=>(0,r.jsx)(i.o,{level:e.confidence,derivedFrom:e.derived_from})},{id:"location",header:"Location",accessorKey:"file",cell:e=>e.line_start?(0,r.jsx)(c.i,{file:e.file,lineStart:e.line_start}):(0,r.jsx)("code",{className:"font-mono text-caption text-text-tertiary",children:e.file})}];function v(e){var t,n;let{diff:i,overview:c,review:d}=e,x=i.summary,h=i.base_commit.slice(0,8),v=i.head_commit.slice(0,8),j=i.impacted.map(e=>{var t,n;return{...e,entry:e.is_entry_point?"Entry point":"Internal",reason:null!==(n=u[null===(t=e.reasons[0])||void 0===t?void 0:t.kind])&&void 0!==n?n:""}}),N=null!==(t=null==d?void 0:d.items.filter(e=>"regressed"===e.status).length)&&void 0!==t?t:0;return(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"mb-sp-2 text-title font-semibold text-text-primary",children:"Changes"}),(0,r.jsxs)("div",{className:"mb-sp-5 flex flex-wrap items-center gap-2 text-caption text-text-tertiary",children:[(0,r.jsx)("span",{children:"Differential audit"}),(0,r.jsx)("code",{className:"rounded-md bg-surface-2 px-2 py-0.5 font-mono text-text-secondary",children:h}),(0,r.jsx)("span",{"aria-hidden":"true",children:"→"}),(0,r.jsx)("code",{className:"rounded-md bg-surface-2 px-2 py-0.5 font-mono text-text-secondary",children:v}),(0,r.jsxs)("span",{children:["\xb7 +",x.additions," / −",x.deletions," lines"]})]}),(null!==(n=i.warnings)&&void 0!==n?n:[]).map((e,t)=>(0,r.jsx)("div",{className:"mb-sp-3 rounded-lg border border-[var(--high)]/30 bg-[var(--high)]/5 px-4 py-3 text-body text-text-secondary",children:e},t)),(0,r.jsxs)("div",{className:"mb-sp-6 grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-6 stagger",children:[(0,r.jsx)(f,{label:"Files changed",value:x.files_changed}),(0,r.jsx)(f,{label:"Functions added",value:x.functions_added}),(0,r.jsx)(f,{label:"Functions modified",value:x.functions_modified}),(0,r.jsx)(f,{label:"Functions removed",value:x.functions_removed}),(0,r.jsx)(f,{label:"Impacted entry points",value:x.impacted_entry_points}),(0,r.jsx)(f,{label:"Storage layout changes",value:x.storage_layout_changes,tone:x.storage_layout_changes>0?"warn":void 0}),d&&(0,r.jsx)(f,{label:"Prior findings regressed",value:N,tone:N>0?"warn":void 0})]}),c&&(0,r.jsx)(b,{title:"What changed",children:(0,r.jsx)("div",{className:"rounded-lg border border-border-subtle bg-surface-1 p-6",children:(0,r.jsx)(l.MarkdownRenderer,{content:c})})}),i.storage_layout_changes.length>0&&(0,r.jsx)(b,{title:"Storage layout",children:(0,r.jsx)("ul",{className:"divide-y divide-border-subtle rounded-lg border border-border-subtle bg-surface-1",children:i.storage_layout_changes.map((e,t)=>(0,r.jsxs)("li",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 px-4 py-3",children:[(0,r.jsx)("span",{className:"font-medium text-text-primary",children:e.contract}),(0,r.jsx)(m,{className:"bg-[var(--high)]/18 text-[var(--high)]",children:e.kind.replace(/_/g," ")}),(0,r.jsx)("span",{className:"text-body text-text-secondary",children:(0,r.jsx)(l.T,{children:e.detail})})]},t))})}),(0,r.jsxs)(b,{title:"Changed code",children:[(0,r.jsxs)("p",{className:"mb-sp-3 text-body text-text-secondary",children:[i.files.length," file",1!==i.files.length?"s":"",":"," ",i.files.map((e,t)=>(0,r.jsxs)("span",{children:[t>0&&", ",(0,r.jsx)("code",{className:"font-mono text-caption text-text-primary",children:e.path})," ",(0,r.jsxs)("span",{className:"text-caption text-text-tertiary",children:["(",e.status,e.old_path?" from ".concat(e.old_path):"",", +",e.additions,"/−",e.deletions,")"]})]},e.path))]}),(0,r.jsx)(a.v,{columns:y,data:i.changes})]}),(0,r.jsxs)(b,{title:"Impacted flows",children:[(0,r.jsxs)("p",{className:"mb-sp-3 text-body text-text-secondary",children:["Every function the change reaches: changed code (depth 0), then callers, modifier users, readers of state the change writes, and inherited entry points. ",x.impacted_functions," ","impacted beyond the changed code."]}),(0,r.jsx)(a.v,{columns:g,data:j})]}),d&&d.items.length>0&&(0,r.jsx)(b,{title:"Prior findings",children:(0,r.jsx)("div",{className:"overflow-x-auto rounded-lg border border-border-subtle bg-surface-1",children:(0,r.jsxs)("table",{className:"w-full text-left",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"border-b border-border-subtle text-caption text-text-tertiary",children:[(0,r.jsx)("th",{className:"px-4 py-2 font-normal",children:"ID"}),(0,r.jsx)("th",{className:"px-4 py-2 font-normal",children:"Title"}),(0,r.jsx)("th",{className:"px-4 py-2 font-normal",children:"Severity"}),(0,r.jsx)("th",{className:"px-4 py-2 font-normal",children:"Status"}),(0,r.jsx)("th",{className:"px-4 py-2 font-normal",children:"Card"})]})}),(0,r.jsx)("tbody",{children:d.items.map(e=>{var t;let n=null!==(t=p[e.status])&&void 0!==t?t:{label:e.status,className:"bg-surface-3 text-text-secondary"};return(0,r.jsxs)("tr",{className:"border-b border-border-subtle last:border-0 hover:bg-surface-3",title:e.reasoning,children:[(0,r.jsx)("td",{className:"px-4 py-2 text-body text-text-secondary",children:e.id}),(0,r.jsx)("td",{className:"px-4 py-2 text-body text-text-primary",children:e.title}),(0,r.jsx)("td",{className:"px-4 py-2",children:(0,r.jsx)(o.$,{severity:e.severity})}),(0,r.jsx)("td",{className:"px-4 py-2",children:(0,r.jsx)(m,{className:n.className,children:n.label})}),(0,r.jsx)("td",{className:"px-4 py-2 text-body",children:e.issue_id?(0,r.jsx)(s.default,{href:"/issues",className:"text-accent hover:underline",children:e.issue_id}):(0,r.jsx)("span",{className:"text-text-tertiary",children:"—"})})]},e.id)})})]})})})]})}},28628:function(e,t,n){"use strict";n.d(t,{o:function(){return i}});var r=n(37821),s=n(58078);let a={high:"bg-[var(--success)]/15 text-[var(--success)]",medium:"bg-[var(--medium)]/15 text-[var(--medium)]",low:"bg-[var(--critical)]/15 text-[var(--critical)]"};function i(e){var t;let{level:n,derivedFrom:i}=e,[c,l]=(0,s.useState)(!1),o=null!==(t=a[n.toLowerCase()])&&void 0!==t?t:a.low,d=i?"confidence-".concat(n,"-").concat(i.replace(/\W+/g,"-")):void 0,x=i?"".concat(n," confidence, derived from ").concat(i):"".concat(n," confidence");return(0,r.jsxs)("span",{className:"relative inline-block focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent rounded-md",tabIndex:i?0:void 0,role:i?"group":void 0,"aria-label":x,"aria-describedby":c&&d?d:void 0,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocus:()=>l(!0),onBlur:()=>l(!1),children:[(0,r.jsx)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(o),children:n}),i&&c&&(0,r.jsxs)("span",{id:d,role:"tooltip",className:"absolute bottom-full left-1/2 z-50 mb-2 -translate-x-1/2 whitespace-nowrap rounded-md border border-border-default bg-surface-3 px-2 py-1 text-caption text-text-secondary shadow-lg",children:["Derived from: ",i]})]})}},29487:function(e,t,n){"use strict";n.d(t,{MarkdownRenderer:function(){return i},T:function(){return c}});var r=n(37821),s=n(48525),a=n(45592);function i(e){let{content:t,className:n}=e;return(0,r.jsx)("div",{className:"prose max-w-none\n prose-headings:text-text-primary\n prose-p:text-text-secondary\n prose-strong:text-text-primary\n prose-code:text-accent\n prose-code:before:content-none\n prose-code:after:content-none\n prose-pre:bg-surface-0\n prose-pre:border\n prose-pre:border-border-default\n prose-a:text-accent\n prose-a:no-underline\n hover:prose-a:underline\n prose-th:text-text-primary\n prose-td:text-text-secondary\n prose-hr:border-border-default\n prose-blockquote:border-border-emphasis\n prose-blockquote:text-text-secondary\n prose-li:text-text-secondary\n ".concat(null!=n?n:""),children:(0,r.jsx)(s.UG,{remarkPlugins:[a.Z],children:t})})}function c(e){let{children:t}=e;return(0,r.jsx)(s.UG,{remarkPlugins:[a.Z],components:{p:e=>{let{children:t}=e;return(0,r.jsx)(r.Fragment,{children:t})},code:e=>{let{children:t}=e;return(0,r.jsx)("code",{className:"rounded bg-surface-0 px-1 py-0.5 font-mono text-[0.85em] text-accent",children:t})},strong:e=>{let{children:t}=e;return(0,r.jsx)("strong",{className:"font-semibold text-text-primary",children:t})},a:e=>{let{href:t,children:n}=e;return(0,r.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",className:"text-accent hover:underline",children:n})}},children:t})}},32952:function(e,t,n){"use strict";n.d(t,{$:function(){return a}});var r=n(37821);let s={Critical:"bg-[var(--critical)]/18 text-[var(--critical)]",High:"bg-[var(--high)]/18 text-[var(--high)]",Medium:"bg-[var(--medium)]/18 text-[var(--medium)]",Low:"bg-[var(--low)]/18 text-[var(--low)]",Info:"bg-[var(--info)]/18 text-[var(--info)]"};function a(e){var t;let{severity:n}=e,a=null!==(t=s[n])&&void 0!==t?t:s.Info;return(0,r.jsx)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(a),children:n})}},14233:function(e,t,n){"use strict";n.d(t,{default:function(){return s.a}});var r=n(67498),s=n.n(r)}},function(e){e.O(0,[8452,7397,7498,8928,7115,3205,1744],function(){return e(e.s=42091)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2464],{24676:function(e,t,s){Promise.resolve().then(s.bind(s,27542))},27542:function(e,t,s){"use strict";s.d(t,{ConformanceTable:function(){return o}});var c=s(37821),a=s(58078);let n={DEVIATES:"bg-[var(--critical)]/18 text-[var(--critical)]",PARTIAL:"bg-[var(--medium)]/18 text-[var(--medium)]",UNVERIFIABLE:"bg-accent/18 text-accent",UNDOCUMENTED:"bg-[var(--neutral)]/18 text-[var(--neutral)]",CONFORMS:"bg-[var(--success)]/18 text-[var(--success)]"},i={DEVIATES:"bg-[var(--critical)]/5",PARTIAL:"bg-[var(--medium)]/5",UNVERIFIABLE:"bg-accent/5",UNDOCUMENTED:"bg-surface-1",CONFORMS:"bg-[var(--success)]/5"},r={Critical:"bg-[var(--critical)]/18 text-[var(--critical)]",High:"bg-[var(--high)]/18 text-[var(--high)]",Medium:"bg-[var(--medium)]/18 text-[var(--medium)]",Low:"bg-[var(--low)]/18 text-[var(--low)]",Info:"bg-[var(--info)]/18 text-[var(--info)]"},l={external_docs:"Docs",natspec:"NatSpec",interface:"Interface",erc_eip:"ERC/EIP"};function o(e){let{checks:t}=e,[s,o]=(0,a.useState)(new Set),[d,x]=(0,a.useState)(null);function p(e){o(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})}let u=d?t.filter(e=>e.status===d):t;return(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"mb-sp-3 flex flex-wrap gap-1",children:[(0,c.jsx)("button",{type:"button",onClick:()=>x(null),"aria-pressed":!d,className:"rounded-md px-3 py-1.5 text-caption font-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ".concat(d?"bg-surface-3 text-text-secondary hover:text-text-primary":"bg-accent text-surface-0"),children:"All"}),["DEVIATES","PARTIAL","UNVERIFIABLE","UNDOCUMENTED","CONFORMS"].map(e=>{let s=t.filter(t=>t.status===e).length;if(0===s)return null;let a=d===e;return(0,c.jsxs)("button",{type:"button",onClick:()=>x(a?null:e),"aria-pressed":a,className:"rounded-md px-3 py-1.5 text-caption font-medium focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ".concat(a?"bg-accent text-surface-0":"bg-surface-3 text-text-secondary hover:text-text-primary"),children:[e," ",(0,c.jsx)("span",{className:"opacity-60",children:s})]},e)})]}),(0,c.jsx)("div",{className:"overflow-x-auto rounded-md border border-border-default",children:(0,c.jsxs)("table",{className:"w-full text-left text-body",children:[(0,c.jsx)("thead",{className:"border-b border-border-default bg-surface-2 text-caption font-medium uppercase tracking-wider text-text-tertiary",children:(0,c.jsxs)("tr",{children:[(0,c.jsx)("th",{scope:"col",className:"w-8 px-2 py-sp-2"}),(0,c.jsx)("th",{scope:"col",className:"w-24 px-sp-4 py-sp-2",children:"ID"}),(0,c.jsx)("th",{scope:"col",className:"px-sp-4 py-sp-2",children:"Requirement"}),(0,c.jsx)("th",{scope:"col",className:"w-32 px-sp-4 py-sp-2",children:"Status"}),(0,c.jsx)("th",{scope:"col",className:"w-24 px-sp-4 py-sp-2",children:"Source"})]})}),(0,c.jsx)("tbody",{className:"divide-y divide-border-subtle",children:u.map(e=>{var t,o,d,x,u,m;let h=s.has(e.id),f=null!==(t=n[e.status])&&void 0!==t?t:n.UNDOCUMENTED,v=null!==(o=i[e.status])&&void 0!==o?o:i.UNDOCUMENTED;return(0,c.jsxs)(a.Fragment,{children:[(0,c.jsxs)("tr",{role:"button",tabIndex:0,"aria-expanded":h,onClick:()=>p(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),p(e.id))},className:"".concat(v," cursor-pointer hover:bg-surface-3"),children:[(0,c.jsx)("td",{className:"w-8 px-2 py-sp-2 text-text-tertiary",children:(0,c.jsx)("svg",{"aria-hidden":"true",className:"h-4 w-4 ".concat(h?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,c.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m9 5 7 7-7 7"})})}),(0,c.jsx)("td",{className:"whitespace-nowrap px-sp-4 py-sp-2 font-mono text-caption text-text-secondary",children:e.id}),(0,c.jsx)("td",{className:"px-sp-4 py-sp-2 text-text-primary",children:e.requirement}),(0,c.jsx)("td",{className:"px-sp-4 py-sp-2",children:(0,c.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(f),children:e.status})}),(0,c.jsx)("td",{className:"px-sp-4 py-sp-2 text-caption text-text-tertiary",children:e.source?null!==(d=l[e.source])&&void 0!==d?d:e.source:null!==(x=e.spec_section)&&void 0!==x?x:"-"})]}),h&&(0,c.jsx)("tr",{className:"".concat(v),children:(0,c.jsxs)("td",{colSpan:5,className:"bg-surface-0 px-sp-6 py-sp-4",children:[(0,c.jsxs)("div",{className:"text-body text-text-secondary",children:[(0,c.jsx)("h4",{className:"mb-sp-2 text-caption font-medium uppercase text-text-tertiary",children:"Details"}),(0,c.jsx)("p",{className:"whitespace-pre-wrap",children:e.details})]}),(0,c.jsxs)("div",{className:"mt-sp-3 flex flex-wrap gap-sp-3",children:[e.confidence&&(0,c.jsxs)("div",{children:[(0,c.jsx)("span",{className:"text-caption text-text-tertiary",children:"Confidence: "}),(0,c.jsx)("span",{className:"text-caption text-text-secondary",children:e.confidence})]}),e.severity_hint&&(0,c.jsxs)("div",{children:[(0,c.jsx)("span",{className:"text-caption text-text-tertiary",children:"Severity: "}),(0,c.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(null!==(u=r[e.severity_hint])&&void 0!==u?u:r.Info),children:e.severity_hint})]}),e.code_location&&(0,c.jsxs)("div",{children:[(0,c.jsx)("span",{className:"text-caption text-text-tertiary",children:"Location: "}),(0,c.jsxs)("code",{className:"rounded-sm bg-surface-3 px-1.5 py-0.5 text-caption text-text-secondary",children:[e.code_location.file,":",e.code_location.line_start,e.code_location.line_end!==e.code_location.line_start&&"-".concat(e.code_location.line_end)]})]}),e.spec_url&&(0,c.jsxs)("div",{children:[(0,c.jsx)("span",{className:"text-caption text-text-tertiary",children:"Spec: "}),(0,c.jsx)("a",{href:e.spec_url,target:"_blank",rel:"noopener noreferrer",className:"text-caption text-accent hover:underline focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent rounded-sm",children:null!==(m=e.spec_anchor)&&void 0!==m?m:e.spec_url.replace(/^https?:\/\//,"")})]})]})]})})]},e.id)})})]})})]})}}},function(e){e.O(0,[7115,3205,1744],function(){return e(e.s=24676)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7805],{48885:function(e,t,r){Promise.resolve().then(r.bind(r,73719))},73719:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return i}});var a=r(37821),s=r(58078),n=r(6870);function i(){let[e,t]=(0,s.useState)(null),[r,i]=(0,s.useState)(!1),[l,o]=(0,s.useState)(!0);return((0,s.useEffect)(()=>{fetch("/api/mermaid?file=diagram.mmd").then(e=>{if(404===e.status)return i(!0),o(!1),null;if(!e.ok)throw Error("Failed to load diagram");return e.json()}).then(e=>{(null==e?void 0:e.syntax)&&t(e.syntax),o(!1)}).catch(()=>{i(!0),o(!1)})},[]),l)?(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"mb-sp-5 text-title font-semibold text-text-primary",children:"Diagram"}),(0,a.jsx)("div",{className:"flex h-[600px] items-center justify-center rounded-md border border-border-default bg-surface-1",children:(0,a.jsx)(n.T,{label:"Loading diagram..."})})]}):r||!e?(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"mb-sp-5 text-title font-semibold text-text-primary",children:"Diagram"}),(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-md border border-dashed border-border-emphasis bg-surface-1 py-sp-8",children:[(0,a.jsx)("p",{className:"mb-2 text-heading font-medium text-text-primary",children:"Not Yet Generated"}),(0,a.jsx)("p",{className:"text-body text-text-tertiary",children:"Use the diagram skill to generate diagram.mmd"})]})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"mb-sp-5 text-title font-semibold text-text-primary",children:"Diagram"}),(0,a.jsx)(n.D,{syntax:e})]})}},6870:function(e,t,r){"use strict";r.d(t,{D:function(){return i},T:function(){return n}});var a=r(37821),s=r(58078);function n(e){let{label:t="loading..."}=e;return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-sp-8",children:[(0,a.jsxs)("svg",{className:"h-5 w-5 animate-spin text-accent",viewBox:"0 0 24 24",fill:"none",children:[(0,a.jsx)("circle",{className:"opacity-20",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3"}),(0,a.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,a.jsx)("span",{className:"text-body text-text-secondary",children:t})]})}function i(e){let{syntax:t}=e,i=(0,s.useRef)(null),l=(0,s.useRef)(null),[o,c]=(0,s.useState)(null),[d,u]=(0,s.useState)(!0),[x,m]=(0,s.useState)(1),[f,h]=(0,s.useState)({x:0,y:0}),[b,p]=(0,s.useState)(!1),y=(0,s.useRef)({x:0,y:0}),g=(0,s.useRef)({x:0,y:0}),v=(0,s.useMemo)(()=>(function(e){let t=e.split("\n"),r=[],a=[],s=[],n=!1;for(let e of t){if(n){e.startsWith("%%")&&a.push(e.replace(/^%%\s*/,""));continue}if(e.trim().startsWith("%% --- Legend")){n=!0;continue}e.startsWith("%%")&&0===s.length?r.push(e.replace(/^%%\s*/,"")):s.push(e)}return{overview:r.join(" ").trim(),legend:a.filter(e=>e.trim()).map(e=>e.trim()),syntax:s.join("\n")}})(t),[t]);(0,s.useEffect)(()=>{let e=!1;return u(!0),async function(){try{let t=(await Promise.all([r.e(8382),r.e(6629),r.e(7973)]).then(r.bind(r,84282))).default;t.initialize({startOnLoad:!1,theme:"base",themeVariables:{background:"#1c1c1e",mainBkg:"#27272a",primaryColor:"#27272a",primaryBorderColor:"rgba(91,108,240,0.35)",primaryTextColor:"#ecedf0",lineColor:"rgba(91,108,240,0.45)",secondaryColor:"#313135",tertiaryColor:"#3c3c42",clusterBkg:"#222225",clusterBorder:"rgba(91,108,240,0.15)",edgeLabelBackground:"#1c1c1e",titleColor:"#9b9ca6",fontFamily:"Manrope, system-ui, sans-serif",fontSize:"12px",labelTextColor:"#ecedf0",nodeBorder:"rgba(91,108,240,0.35)",actorBkg:"#27272a",actorBorder:"rgba(91,108,240,0.35)",actorTextColor:"#ecedf0",actorLineColor:"rgba(91,108,240,0.25)",signalColor:"rgba(91,108,240,0.45)",signalTextColor:"#9b9ca6"},securityLevel:"loose",fontFamily:"Manrope, system-ui, sans-serif"});let a="mermaid-".concat(Date.now()),{svg:s}=await t.render(a,v.syntax);if(!e&&l.current){l.current.innerHTML=s;let e=l.current.querySelector("svg");if(e&&(e.style.maxWidth="none",e.style.height="auto",i.current)){let t=i.current.clientWidth-48,r=i.current.clientHeight-48,a=e.width.baseVal.value||e.getBoundingClientRect().width,s=e.height.baseVal.value||e.getBoundingClientRect().height;a>0&&s>0&&(m(Math.min(t/a,r/s,1)),h({x:0,y:0}))}u(!1)}}catch(t){e||(c(t instanceof Error?t.message:String(t)),u(!1))}}(),()=>{e=!0}},[v.syntax]);let j=(0,s.useCallback)(e=>{m(t=>Math.min(Math.max(.25,t+e),4))},[]),N=(0,s.useCallback)(()=>{m(1),h({x:0,y:0})},[]),C=(0,s.useCallback)(e=>{e.preventDefault(),j(e.deltaY>0?-.1:.1)},[j]),k=(0,s.useCallback)(e=>{0===e.button&&(p(!0),y.current={x:e.clientX,y:e.clientY},g.current={...f})},[f]),w=(0,s.useCallback)(e=>{b&&h({x:g.current.x+(e.clientX-y.current.x),y:g.current.y+(e.clientY-y.current.y)})},[b]),M=(0,s.useCallback)(()=>{p(!1)},[]);return o?(0,a.jsx)("div",{className:"flex h-[600px] items-center justify-center rounded-md border border-severity-critical/30 bg-severity-critical/5",children:(0,a.jsxs)("div",{className:"max-w-lg text-center",children:[(0,a.jsx)("p",{className:"mb-2 text-severity-critical",children:"Failed to render diagram"}),(0,a.jsx)("pre",{className:"whitespace-pre-wrap text-caption text-severity-critical/60",children:o})]})}):(0,a.jsxs)("div",{children:[v.overview&&(0,a.jsx)("p",{className:"mb-2 text-body text-text-secondary",children:v.overview}),(0,a.jsxs)("div",{className:"relative rounded-md border border-border-default bg-surface-1",children:[d&&(0,a.jsx)("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-surface-1",children:(0,a.jsx)(n,{label:"rendering diagram"})}),(0,a.jsx)("div",{ref:i,className:"h-[700px] overflow-hidden cursor-grab active:cursor-grabbing",onWheel:C,onMouseDown:k,onMouseMove:w,onMouseUp:M,onMouseLeave:M,children:(0,a.jsx)("div",{ref:l,className:"flex h-full w-full items-center justify-center p-sp-6",style:{transform:"translate(".concat(f.x,"px, ").concat(f.y,"px) scale(").concat(x,")"),transformOrigin:"center center",transition:b?"none":"transform 0.1s ease-out"}})}),(0,a.jsxs)("div",{className:"absolute bottom-3 right-3 z-10 flex items-center gap-1 rounded-md bg-surface-2 p-1 shadow-lg border border-border-default",children:[(0,a.jsx)("button",{type:"button",onClick:()=>j(.2),"aria-label":"Zoom in",className:"rounded px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:"+"}),(0,a.jsx)("button",{type:"button",onClick:()=>j(-.2),"aria-label":"Zoom out",className:"rounded px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:"−"}),(0,a.jsx)("button",{type:"button",onClick:N,"aria-label":"Reset zoom",className:"rounded px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:"⟳"}),(0,a.jsxs)("span",{className:"px-2 text-caption text-text-tertiary",children:[Math.round(100*x),"%"]})]}),v.legend.length>0&&(0,a.jsx)("div",{className:"absolute bottom-3 left-3 z-10 flex flex-wrap gap-x-3 gap-y-1 rounded-md bg-surface-2 px-3 py-2 text-caption font-mono text-text-tertiary border border-border-default",children:v.legend.map((e,t)=>(0,a.jsx)("span",{children:e},t))})]})]})}}},function(e){e.O(0,[7115,3205,1744],function(){return e(e.s=48885)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6805],{16674:function(e,t,r){Promise.resolve().then(r.bind(r,3443))},3443:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return l}});var a=r(37821),s=r(58078),n=r(6870);function l(){var e;let[t,r]=(0,s.useState)([]),[l,o]=(0,s.useState)(0),[i,c]=(0,s.useState)(null),[d,u]=(0,s.useState)(!0);return((0,s.useEffect)(()=>{fetch("/api/flows").then(e=>e.json()).then(e=>{var t;r(null!==(t=e.flows)&&void 0!==t?t:[]),u(!1)}).catch(()=>u(!1))},[]),(0,s.useEffect)(()=>{if(0===t.length)return;let e=t[l];e&&(c(null),fetch("/api/mermaid?file=".concat(encodeURIComponent(e.filename))).then(e=>{if(!e.ok)throw Error("Failed to load flow");return e.json()}).then(e=>{var t;return c(null!==(t=e.syntax)&&void 0!==t?t:null)}).catch(()=>c(null)))},[t,l]),d)?(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"mb-sp-5 text-title font-semibold text-text-primary",children:"Flows"}),(0,a.jsx)("div",{className:"flex h-[600px] items-center justify-center rounded-md border border-border-default bg-surface-1",children:(0,a.jsx)(n.T,{label:"Loading flows..."})})]}):0===t.length?(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"mb-sp-5 text-title font-semibold text-text-primary",children:"Flows"}),(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-md border border-dashed border-border-emphasis bg-surface-1 py-sp-8",children:[(0,a.jsx)("p",{className:"mb-2 text-heading font-medium text-text-primary",children:"Not Yet Generated"}),(0,a.jsx)("p",{className:"text-body text-text-tertiary",children:"Use the flows skill to generate flow diagrams"})]})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"mb-sp-5 text-title font-semibold text-text-primary",children:"Flows"}),t.length>1&&(0,a.jsx)("div",{className:"mb-sp-4 inline-flex overflow-x-auto rounded-md bg-surface-3 p-1",children:t.map((e,t)=>(0,a.jsx)("button",{type:"button",onClick:()=>o(t),className:"whitespace-nowrap rounded-sm px-sp-3 py-1.5 text-body font-medium ".concat(l===t?"bg-surface-2 text-text-primary shadow-sm":"text-text-secondary hover:text-text-primary"),children:e.name},e.filename))}),i?(0,a.jsx)(n.D,{syntax:i},null===(e=t[l])||void 0===e?void 0:e.filename):(0,a.jsx)("div",{className:"flex h-[600px] items-center justify-center rounded-md border border-border-default bg-surface-1",children:(0,a.jsx)(n.T,{label:"Loading flow diagram..."})})]})}},6870:function(e,t,r){"use strict";r.d(t,{D:function(){return l},T:function(){return n}});var a=r(37821),s=r(58078);function n(e){let{label:t="loading..."}=e;return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-sp-8",children:[(0,a.jsxs)("svg",{className:"h-5 w-5 animate-spin text-accent",viewBox:"0 0 24 24",fill:"none",children:[(0,a.jsx)("circle",{className:"opacity-20",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3"}),(0,a.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,a.jsx)("span",{className:"text-body text-text-secondary",children:t})]})}function l(e){let{syntax:t}=e,l=(0,s.useRef)(null),o=(0,s.useRef)(null),[i,c]=(0,s.useState)(null),[d,u]=(0,s.useState)(!0),[x,m]=(0,s.useState)(1),[f,h]=(0,s.useState)({x:0,y:0}),[b,p]=(0,s.useState)(!1),y=(0,s.useRef)({x:0,y:0}),g=(0,s.useRef)({x:0,y:0}),v=(0,s.useMemo)(()=>(function(e){let t=e.split("\n"),r=[],a=[],s=[],n=!1;for(let e of t){if(n){e.startsWith("%%")&&a.push(e.replace(/^%%\s*/,""));continue}if(e.trim().startsWith("%% --- Legend")){n=!0;continue}e.startsWith("%%")&&0===s.length?r.push(e.replace(/^%%\s*/,"")):s.push(e)}return{overview:r.join(" ").trim(),legend:a.filter(e=>e.trim()).map(e=>e.trim()),syntax:s.join("\n")}})(t),[t]);(0,s.useEffect)(()=>{let e=!1;return u(!0),async function(){try{let t=(await Promise.all([r.e(8382),r.e(6629),r.e(7973)]).then(r.bind(r,84282))).default;t.initialize({startOnLoad:!1,theme:"base",themeVariables:{background:"#1c1c1e",mainBkg:"#27272a",primaryColor:"#27272a",primaryBorderColor:"rgba(91,108,240,0.35)",primaryTextColor:"#ecedf0",lineColor:"rgba(91,108,240,0.45)",secondaryColor:"#313135",tertiaryColor:"#3c3c42",clusterBkg:"#222225",clusterBorder:"rgba(91,108,240,0.15)",edgeLabelBackground:"#1c1c1e",titleColor:"#9b9ca6",fontFamily:"Manrope, system-ui, sans-serif",fontSize:"12px",labelTextColor:"#ecedf0",nodeBorder:"rgba(91,108,240,0.35)",actorBkg:"#27272a",actorBorder:"rgba(91,108,240,0.35)",actorTextColor:"#ecedf0",actorLineColor:"rgba(91,108,240,0.25)",signalColor:"rgba(91,108,240,0.45)",signalTextColor:"#9b9ca6"},securityLevel:"loose",fontFamily:"Manrope, system-ui, sans-serif"});let a="mermaid-".concat(Date.now()),{svg:s}=await t.render(a,v.syntax);if(!e&&o.current){o.current.innerHTML=s;let e=o.current.querySelector("svg");if(e&&(e.style.maxWidth="none",e.style.height="auto",l.current)){let t=l.current.clientWidth-48,r=l.current.clientHeight-48,a=e.width.baseVal.value||e.getBoundingClientRect().width,s=e.height.baseVal.value||e.getBoundingClientRect().height;a>0&&s>0&&(m(Math.min(t/a,r/s,1)),h({x:0,y:0}))}u(!1)}}catch(t){e||(c(t instanceof Error?t.message:String(t)),u(!1))}}(),()=>{e=!0}},[v.syntax]);let j=(0,s.useCallback)(e=>{m(t=>Math.min(Math.max(.25,t+e),4))},[]),w=(0,s.useCallback)(()=>{m(1),h({x:0,y:0})},[]),N=(0,s.useCallback)(e=>{e.preventDefault(),j(e.deltaY>0?-.1:.1)},[j]),C=(0,s.useCallback)(e=>{0===e.button&&(p(!0),y.current={x:e.clientX,y:e.clientY},g.current={...f})},[f]),k=(0,s.useCallback)(e=>{b&&h({x:g.current.x+(e.clientX-y.current.x),y:g.current.y+(e.clientY-y.current.y)})},[b]),M=(0,s.useCallback)(()=>{p(!1)},[]);return i?(0,a.jsx)("div",{className:"flex h-[600px] items-center justify-center rounded-md border border-severity-critical/30 bg-severity-critical/5",children:(0,a.jsxs)("div",{className:"max-w-lg text-center",children:[(0,a.jsx)("p",{className:"mb-2 text-severity-critical",children:"Failed to render diagram"}),(0,a.jsx)("pre",{className:"whitespace-pre-wrap text-caption text-severity-critical/60",children:i})]})}):(0,a.jsxs)("div",{children:[v.overview&&(0,a.jsx)("p",{className:"mb-2 text-body text-text-secondary",children:v.overview}),(0,a.jsxs)("div",{className:"relative rounded-md border border-border-default bg-surface-1",children:[d&&(0,a.jsx)("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-surface-1",children:(0,a.jsx)(n,{label:"rendering diagram"})}),(0,a.jsx)("div",{ref:l,className:"h-[700px] overflow-hidden cursor-grab active:cursor-grabbing",onWheel:N,onMouseDown:C,onMouseMove:k,onMouseUp:M,onMouseLeave:M,children:(0,a.jsx)("div",{ref:o,className:"flex h-full w-full items-center justify-center p-sp-6",style:{transform:"translate(".concat(f.x,"px, ").concat(f.y,"px) scale(").concat(x,")"),transformOrigin:"center center",transition:b?"none":"transform 0.1s ease-out"}})}),(0,a.jsxs)("div",{className:"absolute bottom-3 right-3 z-10 flex items-center gap-1 rounded-md bg-surface-2 p-1 shadow-lg border border-border-default",children:[(0,a.jsx)("button",{type:"button",onClick:()=>j(.2),"aria-label":"Zoom in",className:"rounded px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:"+"}),(0,a.jsx)("button",{type:"button",onClick:()=>j(-.2),"aria-label":"Zoom out",className:"rounded px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:"−"}),(0,a.jsx)("button",{type:"button",onClick:w,"aria-label":"Reset zoom",className:"rounded px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:"⟳"}),(0,a.jsxs)("span",{className:"px-2 text-caption text-text-tertiary",children:[Math.round(100*x),"%"]})]}),v.legend.length>0&&(0,a.jsx)("div",{className:"absolute bottom-3 left-3 z-10 flex flex-wrap gap-x-3 gap-y-1 rounded-md bg-surface-2 px-3 py-2 text-caption font-mono text-text-tertiary border border-border-default",children:v.legend.map((e,t)=>(0,a.jsx)("span",{children:e},t))})]})]})}}},function(e){e.O(0,[7115,3205,1744],function(){return e(e.s=16674)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5419],{38750:function(e,t,a){Promise.resolve().then(a.bind(a,37780))},37780:function(e,t,a){"use strict";a.d(t,{FunctionsClient:function(){return d}});var n=a(37821),i=a(35640),l=a(93775);let r={external:"bg-[var(--critical)]/15 text-[var(--critical)]",public:"bg-[var(--high)]/15 text-[var(--high)]",internal:"bg-[var(--low)]/15 text-[var(--low)]",private:"bg-[var(--neutral)]/15 text-[var(--neutral)]"};function c(e){var t;let{visibility:a}=e,i=null!==(t=r[a])&&void 0!==t?t:"bg-[var(--neutral)]/15 text-[var(--neutral)]";return(0,n.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(i),children:a})}function s(e){let{items:t,color:a="default"}=e;if(0===t.length)return(0,n.jsx)("span",{className:"text-text-tertiary",children:"--"});let i="yellow"===a?"bg-[var(--medium)]/10 text-[var(--medium)]":"red"===a?"bg-[var(--critical)]/10 text-[var(--critical)]":"bg-surface-3 text-text-secondary";return(0,n.jsx)("div",{className:"flex flex-wrap gap-1",children:t.map(e=>(0,n.jsx)("span",{className:"inline-flex items-center rounded-sm px-1.5 py-0.5 font-mono text-caption ".concat(i),children:e},e))})}let o=[{id:"contract",header:"Contract",accessorKey:"contract",enableColumnFilter:!0,cell:e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"font-medium text-text-primary",children:e.contract}),e.inherited_from&&(0,n.jsxs)("span",{className:"ml-1.5 text-caption text-text-tertiary",children:["← ",e.inherited_from]})]})},{id:"name",header:"Function",accessorKey:"name",cell:e=>(0,n.jsx)("span",{className:"font-mono text-body text-text-secondary",children:e.name})},{id:"visibility",header:"Visibility",accessorKey:"visibility",enableColumnFilter:!0,cell:e=>(0,n.jsx)(c,{visibility:e.visibility})},{id:"state",header:"State",accessorKey:"state",enableColumnFilter:!0,cell:e=>{let t="writable"===e.state?"bg-[var(--high)]/15 text-[var(--high)]":"bg-[var(--low)]/15 text-[var(--low)]";return(0,n.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(t),children:e.state})}},{id:"payable",header:"Payable",accessorKey:"payable",enableColumnFilter:!0,cell:e=>{let t="payable"===e.payable?"bg-[var(--success)]/15 text-[var(--success)]":"bg-[var(--neutral)]/15 text-[var(--neutral)]";return(0,n.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(t),children:e.payable})}},{id:"modifiers",header:"Modifiers",accessorKey:"modifiers",cell:e=>(0,n.jsx)(s,{items:e.modifiers})},{id:"external_calls",header:"External Calls",accessorKey:"external_calls",cell:e=>(0,n.jsx)(s,{items:e.external_calls,color:"red"})},{id:"location",header:"Location",accessorKey:"evidence",cell:e=>(0,n.jsx)(l.i,{file:e.evidence.file,lineStart:e.evidence.line_start,lineEnd:e.evidence.line_end,snippet:e.evidence.snippet})}];function d(e){let{rows:t}=e;return(0,n.jsx)(i.v,{columns:o,data:t,defaultOpen:!0})}}},function(e){e.O(0,[8452,8928,7115,3205,1744],function(){return e(e.s=38750)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4521],{84260:function(e,t,n){Promise.resolve().then(n.bind(n,99754))},99754:function(e,t,n){"use strict";n.d(t,{IssuesBoardClient:function(){return p}});var r=n(37821),a=n(58078),o=n(63924),s=n(32952),i=n(29487);function c(e,t){var n;let r=new Set,a=e.code_locations.map(e=>e.file).filter(e=>e&&!r.has(e)&&r.add(e)).map(e=>(function(e,t){if(t.repositoryUrl&&t.commit){let n=t.repositoryUrl.replace(/\/+$/,"");return"[`".concat(e,"`](").concat(n,"/blob/").concat(t.commit,"/").concat(e,")")}return"[`".concat(e,"`]()")})(e,t)).join(", "),o=e.resolution||"Unresolved",s=null!==(n=e.update_from_client)&&void 0!==n?n:"";return["**File(s)**: ".concat(a),"","**Description**: ".concat(function(e){if(!e)return e;let t=!1,n="";return e.split("\n").map(e=>{let r=e.match(/^\s*(```+|~~~+)/);if(r)return t?r[1][0]===n&&(t=!1,n=""):(t=!0,n=r[1][0]),e;if(t)return e;let a=e.match(/^\s*#{1,6}\s+(.*\S)\s*$/);return a?"**".concat(a[1],"**"):/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(e)?"":e}).join("\n")}(e.description)),"","**Recommendation(s)**: ".concat(e.recommendation),"","**Status**: ".concat(o),"","**Update from the client**: ".concat(s)].join("\n")}let l=[{id:"potential",label:"Potential",description:"Awaiting validation"},{id:"verified",label:"Verified",description:"Confirmed, ready to push"},{id:"synced",label:"Synced to GitHub",description:"On GitHub — edit there, not here"},{id:"invalid",label:"Rejected",description:"Not in the report — incorrect, or valid-but-by-design"},{id:"duplicate",label:"Duplicate",description:"Covered by another entry"}],d={Critical:0,High:1,Medium:2,Low:3,Info:4},u=["Critical","High","Medium","Low","Info"],x=["Fixed","Mitigated","Acknowledged","Not Fixed","Unresolved"];function p(e){var t;let{issues:n,formatCtx:s={}}=e,[i,c]=(0,a.useState)(n),[u,x]=(0,a.useState)(null),[p,f]=(0,a.useState)("all");(0,a.useEffect)(()=>{c(n)},[n]);let h=(0,o.Dy)((0,o.VT)(o.we,{activationConstraint:{distance:4}})),y=(0,a.useMemo)(()=>"all"===p?i:i.filter(e=>e.source===p),[i,p]),g=(0,a.useMemo)(()=>{let e={potential:[],verified:[],synced:[],invalid:[],duplicate:[]};for(let t of y)e[t.column].push(t);for(let t of Object.values(e))t.sort((e,t)=>{var n,r;return(null!==(n=d[e.severity])&&void 0!==n?n:5)-(null!==(r=d[t.severity])&&void 0!==r?r:5)||e.id.localeCompare(t.id)});return e},[y]),j=(0,a.useMemo)(()=>{let e={potential:0,verified:0,synced:0,invalid:0,duplicate:0};for(let t of i)e[t.column]++;return e},[i]),N=(0,a.useCallback)(async(e,t)=>{c(n=>n.map(n=>n.id===e?{...n,column:t,status:function(e){switch(e){case"potential":return"pending_validation";case"verified":return"verified";case"synced":return"synced";case"invalid":return"rejected";case"duplicate":return"duplicate"}}(t),duplicate_of:"duplicate"===t?n.duplicate_of:null}:n));try{let n=await fetch("/api/issues/".concat(encodeURIComponent(e),"/move"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({column:t})});if(!n.ok){var r;let e=await n.json().catch(()=>({}));throw Error(null!==(r=e.error)&&void 0!==r?r:"move failed")}}catch(t){console.error(t),c(t=>t.map(t=>{var r;return t.id===e&&null!==(r=n.find(t=>t.id===e))&&void 0!==r?r:t}))}},[n]),w=(0,a.useCallback)(async(e,t)=>{c(n=>n.map(n=>n.id===e?{...n,...t}:n));try{let r=await fetch("/api/issues/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){var n;let e=await r.json().catch(()=>({}));throw Error(null!==(n=e.error)&&void 0!==n?n:"update failed")}}catch(e){console.error(e)}},[]),_=null!==(t=i.find(e=>e.id===u))&&void 0!==t?t:null;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("header",{className:"mb-6 flex flex-wrap items-end justify-between gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-title font-semibold text-text-primary",children:"Issues"}),(0,r.jsxs)("p",{className:"mt-1 text-body text-text-secondary",children:[i.length," total — ",j.potential," potential, ",j.verified," verified,"," ",j.synced," synced, ",j.invalid," invalid, ",j.duplicate," duplicate. Drag a card between columns; click to edit. Synced cards are read-only (edit on GitHub)."]})]}),(0,r.jsx)(m,{value:p,onChange:f})]}),(0,r.jsx)(o.LB,{sensors:h,onDragEnd:e=>{let{active:t,over:n}=e;if(!n)return;let r=n.id,a=t.id,o=i.find(e=>e.id===a);o&&o.column!==r&&"synced"!==r&&"synced"!==o.column&&N(a,r)},children:(0,r.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-5",children:l.map(e=>(0,r.jsx)(b,{column:e,issues:g[e.id],onOpen:x},e.id))})}),_&&(0,r.jsx)(v,{issue:_,formatCtx:s,onClose:()=>x(null),onSave:e=>w(_.id,e)})]})}function m(e){let{value:t,onChange:n}=e;return(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:[{id:"all",label:"All sources"},{id:"manual",label:"Manual"},{id:"ai-audit",label:"AI audit"},{id:"auditagent",label:"AuditAgent"},{id:"conformance",label:"Conformance"},{id:"github",label:"GitHub"},{id:"prior-audit",label:"Prior audit"}].map(e=>{let a=t===e.id;return(0,r.jsx)("button",{type:"button",onClick:()=>n(e.id),className:"rounded-md px-2.5 py-1 text-caption font-medium ".concat(a?"bg-accent text-surface-0":"bg-surface-2 text-text-secondary hover:text-text-primary"),children:e.label},e.id)})})}function b(e){let{column:t,issues:n,onOpen:a}=e,{isOver:s,setNodeRef:i}=(0,o.Zj)({id:t.id,disabled:"synced"===t.id});return(0,r.jsxs)("section",{ref:i,"aria-label":t.label,className:"flex flex-col gap-2 rounded-lg border bg-surface-1 p-3 transition-colors ".concat(s?"border-accent bg-surface-2":"border-border-subtle"),children:[(0,r.jsxs)("header",{className:"flex items-baseline justify-between",children:[(0,r.jsx)("h2",{className:"text-heading font-medium text-text-primary",children:t.label}),(0,r.jsx)("span",{className:"text-caption text-text-tertiary",children:n.length})]}),(0,r.jsx)("p",{className:"text-caption text-text-tertiary",children:t.description}),(0,r.jsxs)("div",{className:"mt-1 flex flex-col gap-2",children:[n.map(e=>(0,r.jsx)(f,{issue:e,onOpen:a},e.id)),0===n.length&&(0,r.jsx)("div",{className:"rounded-md border border-dashed border-border-subtle py-6 text-center text-caption text-text-tertiary",children:"Empty"})]})]})}function f(e){let{issue:t,onOpen:n}=e,a="synced"===t.column,{attributes:i,listeners:c,setNodeRef:l,isDragging:d,transform:u}=(0,o.O1)({id:t.id,disabled:a}),x=u?{transform:"translate3d(".concat(u.x,"px, ").concat(u.y,"px, 0)"),zIndex:30}:{};return(0,r.jsxs)("article",{ref:l,style:x,...a?{}:i,...a?{}:c,onClick:e=>{u||(e.stopPropagation(),n(t.id))},className:"group rounded-md border bg-surface-0 p-3 text-left ".concat(a?"cursor-pointer":"cursor-grab active:cursor-grabbing"," ").concat(d?"border-accent shadow-lg":"border-border-subtle hover:border-border-default"),children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsx)("span",{className:"font-mono text-caption text-text-tertiary",children:t.id}),(0,r.jsx)(s.$,{severity:t.severity})]}),(0,r.jsx)("h3",{title:t.title,className:"mt-1 text-body font-medium text-text-primary line-clamp-3",children:t.title}),(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5 text-caption",children:[(0,r.jsx)(h,{source:t.source}),(0,r.jsx)(y,{issue:t}),"invalid"===t.column&&(0,r.jsx)("span",{className:"rounded-md px-1.5 py-0.5 ".concat("Acknowledged"===t.resolution?"bg-[var(--medium)]/15 text-[var(--medium)]":"bg-surface-2 text-text-secondary"),title:"Acknowledged"===t.resolution?"Valid but by-design / not a security issue":"Factually incorrect (false positive)",children:"Acknowledged"===t.resolution?"By-design":"Invalid"}),t.duplicate_of&&(0,r.jsxs)("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary",children:["dup of ",t.duplicate_of]}),"passing"===t.poc_status&&(0,r.jsx)("span",{className:"rounded-md bg-[var(--low)]/15 px-1.5 py-0.5 text-[var(--low)]",children:"PoC ✓"}),"failing"===t.poc_status&&(0,r.jsx)("span",{className:"rounded-md bg-[var(--critical)]/15 px-1.5 py-0.5 text-[var(--critical)]",children:"PoC ✕"}),t.resolution&&"invalid"!==t.column&&(0,r.jsx)("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary",children:t.resolution})]}),t.match_signals&&(0,r.jsx)("div",{className:"mt-2 text-caption text-text-tertiary",children:(0,r.jsx)("span",{className:"font-mono",children:[t.match_signals.contract?"contract":null,t.match_signals.function?"function":null,"different"!==t.match_signals.root_cause?"rc:".concat(t.match_signals.root_cause):null,"different"!==t.match_signals.attack_vector?"av:".concat(t.match_signals.attack_vector):null].filter(Boolean).join(" \xb7 ")})})]})}function h(e){var t;let{source:n}=e;return(0,r.jsx)("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-tertiary",children:null!==(t=({manual:"Manual",auditagent:"AuditAgent","ai-audit":"AI audit",conformance:"Conformance",github:"GitHub","prior-audit":"Prior audit"})[n])&&void 0!==t?t:n})}function y(e){var t,n;let{issue:a}=e,o=null!==(t=a.sync_state)&&void 0!==t?t:"none";if("none"===o)return null;if("unsynced"===o)return(0,r.jsx)("span",{title:"Run /sync-issues to push verified findings to GitHub.",className:"rounded-md border border-dashed border-border-default px-1.5 py-0.5 text-text-tertiary",children:"GH unsynced"});if("conflict"===o)return(0,r.jsx)("span",{title:"Local and remote diverged. Re-run /sync-issues to reconcile.",className:"rounded-md bg-[var(--critical)]/15 px-1.5 py-0.5 text-[var(--critical)]",children:"GH conflict"});let s="synced_closed"===o,i="GH #".concat(null!==(n=a.github_issue_number)&&void 0!==n?n:"?"," ").concat(s?"closed":"open"),c=s?"bg-surface-2 text-text-tertiary":"bg-[var(--low)]/15 text-[var(--low)]";return a.github_issue_url?(0,r.jsx)("a",{href:a.github_issue_url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"rounded-md px-1.5 py-0.5 hover:underline ".concat(c),children:i}):(0,r.jsx)("span",{className:"rounded-md px-1.5 py-0.5 ".concat(c),children:i})}function v(e){var t,n,o;let{issue:s,formatCtx:l,onClose:d,onSave:p}=e,[m,b]=(0,a.useState)(s.title),[f,v]=(0,a.useState)(s.severity),[j,N]=(0,a.useState)(s.description),[w,_]=(0,a.useState)(s.recommendation),[C,k]=(0,a.useState)(null!==(t=s.resolution)&&void 0!==t?t:""),[S,H]=(0,a.useState)(null!==(n=s.update_from_client)&&void 0!==n?n:""),[M,G]=(0,a.useState)(!1),[I,A]=(0,a.useState)(!1),[P,E]=(0,a.useState)(!1),R=(0,a.useRef)(null),T="synced"===s.status;(0,a.useEffect)(()=>{var e;null===(e=R.current)||void 0===e||e.focus()},[]);let O=async()=>{let e=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"## [".concat(e.severity,"] ").concat(e.title,"\n\n").concat(c(e,t),"\n\n---\n")}({...s,title:m,severity:f,description:j,recommendation:w,resolution:C||void 0,update_from_client:S||void 0},l);try{await navigator.clipboard.writeText(e),A(!0),setTimeout(()=>A(!1),1500)}catch(e){}},U=async()=>{G(!0),await p({title:m,severity:f,description:j,recommendation:w,resolution:C||void 0,update_from_client:S||void 0}),G(!1),E(!1)};return(0,r.jsx)("div",{ref:R,tabIndex:-1,className:"fixed inset-0 z-50 flex items-center justify-center p-4 outline-none",style:{background:"var(--overlay-bg)"},onClick:d,onKeyDown:e=>{"Escape"===e.key&&d()},children:(0,r.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Issue ".concat(s.id),className:"relative flex h-[85vh] w-full max-w-4xl flex-col overflow-hidden border border-border-emphasis bg-surface-1 shadow-2xl",style:{borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-accent)"},onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-border-default bg-surface-2 px-4 py-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-caption",children:[(0,r.jsx)("span",{className:"font-mono text-body text-text-tertiary",children:s.id}),(0,r.jsx)(h,{source:s.source}),(0,r.jsx)(y,{issue:s})]}),(0,r.jsx)("button",{type:"button",onClick:d,"aria-label":"Close",className:"rounded p-1 text-text-tertiary hover:bg-surface-3 hover:text-text-primary",children:(0,r.jsx)("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[T&&(0,r.jsxs)("div",{className:"mb-4 rounded-md border border-border-default bg-surface-2 px-3 py-2 text-caption text-text-secondary",children:["This issue is synced to GitHub and is read-only here. Edit it on GitHub, then run"," ",(0,r.jsx)("span",{className:"font-mono",children:"/sync-issues"})," to pull the changes back."]}),P?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g,{label:"Title",children:(0,r.jsx)("input",{type:"text",value:m,onChange:e=>b(e.target.value),disabled:T,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})}),(0,r.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-3",children:[(0,r.jsx)(g,{label:"Severity",children:(0,r.jsx)("select",{value:f,onChange:e=>v(e.target.value),disabled:T,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none disabled:opacity-60",children:u.map(e=>(0,r.jsx)("option",{value:e,children:e},e))})}),(0,r.jsx)(g,{label:"Resolution (verified only)",children:(0,r.jsxs)("select",{value:C,onChange:e=>k(e.target.value),disabled:T,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none disabled:opacity-60",children:[(0,r.jsx)("option",{value:"",children:"— none —"}),x.map(e=>(0,r.jsx)("option",{value:e,children:e},e))]})})]}),(0,r.jsx)(g,{label:"Description",className:"mt-3",children:(0,r.jsx)("textarea",{value:j,onChange:e=>N(e.target.value),rows:8,disabled:T,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})}),(0,r.jsx)(g,{label:"Recommendation",className:"mt-3",children:(0,r.jsx)("textarea",{value:w,onChange:e=>_(e.target.value),rows:4,disabled:T,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})}),(0,r.jsx)(g,{label:"Update from the client",className:"mt-3",children:(0,r.jsx)("textarea",{value:S,onChange:e=>H(e.target.value),rows:4,disabled:T,placeholder:"How the client responded — used by /generate-report.",className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})})]}):(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(i.MarkdownRenderer,{content:"**Title**: ".concat(s.title,"\n\n**Severity**: ").concat(s.severity,"\n\n").concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c(e,t)}(s,l))})}),s.code_locations.length>0&&(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("div",{className:"mb-1 text-caption font-medium text-text-tertiary",children:"Code locations"}),(0,r.jsx)("ul",{className:"space-y-1 font-mono text-caption text-text-secondary",children:s.code_locations.map((e,t)=>(0,r.jsx)("li",{children:e.file},"".concat(e.file,"-").concat(t)))})]}),s.match_signals&&(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("div",{className:"mb-1 text-caption font-medium text-text-tertiary",children:"Duplicate signals"}),(0,r.jsx)("p",{className:"text-caption text-text-secondary",children:null!==(o=s.reasoning)&&void 0!==o?o:"Matched against another entry."}),(0,r.jsxs)("div",{className:"mt-1 flex flex-wrap gap-1.5 font-mono text-caption text-text-tertiary",children:[(0,r.jsxs)("span",{children:["contract: ",s.match_signals.contract?"✓":"—"]}),(0,r.jsxs)("span",{children:["function: ",s.match_signals.function?"✓":"—"]}),(0,r.jsxs)("span",{children:["root_cause: ",s.match_signals.root_cause]}),(0,r.jsxs)("span",{children:["attack_vector: ",s.match_signals.attack_vector]})]})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 border-t border-border-default bg-surface-2 px-4 py-3",children:[(0,r.jsx)("button",{type:"button",onClick:O,className:"rounded-md border border-border-default px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:I?"Copied!":"Copy as HackMD"}),(0,r.jsx)("div",{className:"flex items-center gap-2",children:P?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:()=>E(!1),className:"rounded-md px-3 py-1.5 text-body text-text-secondary hover:text-text-primary",children:"Cancel"}),(0,r.jsx)("button",{type:"button",onClick:U,disabled:M,className:"rounded-md bg-accent px-3 py-1.5 text-body font-medium text-surface-0 hover:bg-accent-secondary disabled:opacity-50",children:M?"Saving…":"Save"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:d,className:"rounded-md px-3 py-1.5 text-body text-text-secondary hover:text-text-primary",children:"Close"}),(0,r.jsx)("button",{type:"button",onClick:()=>E(!0),disabled:T,title:T?"Synced to GitHub — edit it there, then run /sync-issues to pull the changes back.":void 0,className:"rounded-md bg-accent px-3 py-1.5 text-body font-medium text-surface-0 hover:bg-accent-secondary disabled:cursor-not-allowed disabled:opacity-40",children:"Edit"})]})})]})]})})}function g(e){let{label:t,className:n,children:a}=e;return(0,r.jsxs)("label",{className:"block ".concat(null!=n?n:""),children:[(0,r.jsx)("span",{className:"mb-1 block text-caption font-medium text-text-tertiary",children:t}),a]})}},29487:function(e,t,n){"use strict";n.d(t,{MarkdownRenderer:function(){return s},T:function(){return i}});var r=n(37821),a=n(48525),o=n(45592);function s(e){let{content:t,className:n}=e;return(0,r.jsx)("div",{className:"prose max-w-none\n prose-headings:text-text-primary\n prose-p:text-text-secondary\n prose-strong:text-text-primary\n prose-code:text-accent\n prose-code:before:content-none\n prose-code:after:content-none\n prose-pre:bg-surface-0\n prose-pre:border\n prose-pre:border-border-default\n prose-a:text-accent\n prose-a:no-underline\n hover:prose-a:underline\n prose-th:text-text-primary\n prose-td:text-text-secondary\n prose-hr:border-border-default\n prose-blockquote:border-border-emphasis\n prose-blockquote:text-text-secondary\n prose-li:text-text-secondary\n ".concat(null!=n?n:""),children:(0,r.jsx)(a.UG,{remarkPlugins:[o.Z],children:t})})}function i(e){let{children:t}=e;return(0,r.jsx)(a.UG,{remarkPlugins:[o.Z],components:{p:e=>{let{children:t}=e;return(0,r.jsx)(r.Fragment,{children:t})},code:e=>{let{children:t}=e;return(0,r.jsx)("code",{className:"rounded bg-surface-0 px-1 py-0.5 font-mono text-[0.85em] text-accent",children:t})},strong:e=>{let{children:t}=e;return(0,r.jsx)("strong",{className:"font-semibold text-text-primary",children:t})},a:e=>{let{href:t,children:n}=e;return(0,r.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",className:"text-accent hover:underline",children:n})}},children:t})}},32952:function(e,t,n){"use strict";n.d(t,{$:function(){return o}});var r=n(37821);let a={Critical:"bg-[var(--critical)]/18 text-[var(--critical)]",High:"bg-[var(--high)]/18 text-[var(--high)]",Medium:"bg-[var(--medium)]/18 text-[var(--medium)]",Low:"bg-[var(--low)]/18 text-[var(--low)]",Info:"bg-[var(--info)]/18 text-[var(--info)]"};function o(e){var t;let{severity:n}=e,o=null!==(t=a[n])&&void 0!==t?t:a.Info;return(0,r.jsx)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(o),children:n})}}},function(e){e.O(0,[7397,3924,7115,3205,1744],function(){return e(e.s=84260)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3185],{69640:function(e,t,r){Promise.resolve().then(r.t.bind(r,13812,23)),Promise.resolve().then(r.bind(r,92198)),Promise.resolve().then(r.bind(r,30274)),Promise.resolve().then(r.bind(r,4595)),Promise.resolve().then(r.t.bind(r,41600,23)),Promise.resolve().then(r.t.bind(r,55256,23))},92198:function(e,t,r){"use strict";r.d(t,{CommandPalette:function(){return i}});var n=r(37821),a=r(58078),s=r(90168);let o=r(30274).p.flatMap(e=>e.items.map(t=>({href:t.href,label:"".concat(e.label," / ").concat(t.label)})));function i(){let[e,t]=(0,a.useState)(!1),[r,i]=(0,a.useState)(""),[l,c]=(0,a.useState)(0),d=(0,a.useRef)(null),u=(0,s.useRouter)(),h=r.trim()?o.filter(e=>e.label.toLowerCase().includes(r.toLowerCase())||e.href.includes(r.toLowerCase())):o;(0,a.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&"k"===e.key&&(e.preventDefault(),t(e=>!e),i(""),c(0)),"Escape"===e.key&&t(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,a.useEffect)(()=>{e&&setTimeout(()=>{var e;return null===(e=d.current)||void 0===e?void 0:e.focus()},50)},[e]),(0,a.useEffect)(()=>c(0),[r]);let m=e=>{u.push(e),t(!1),i("")};return e?(0,n.jsx)("div",{className:"fixed inset-0 z-[9000] flex items-start justify-center px-4 pt-[12vh]",style:{background:"var(--overlay-bg)"},onClick:()=>t(!1),children:(0,n.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Quick navigation",className:"w-full max-w-lg rounded-lg border border-border-default bg-surface-1 shadow-lg",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-center border-b border-border-default px-4 py-3 gap-2",children:[(0,n.jsx)("span",{className:"text-accent text-body font-medium shrink-0","aria-hidden":"true",children:">"}),(0,n.jsx)("input",{ref:d,type:"text",value:r,onChange:e=>i(e.target.value),placeholder:"search pages...","aria-label":"Search pages",className:"flex-1 bg-transparent text-body text-text-primary placeholder-text-tertiary outline-none",onKeyDown:e=>{"ArrowDown"===e.key?(e.preventDefault(),c(e=>Math.min(e+1,h.length-1))):"ArrowUp"===e.key?(e.preventDefault(),c(e=>Math.max(e-1,0))):"Enter"===e.key&&h[l]?m(h[l].href):"Tab"===e.key&&e.preventDefault()}}),(0,n.jsx)("kbd",{className:"shrink-0 border border-border-default px-1.5 py-0.5 text-caption text-text-tertiary",style:{borderRadius:"var(--radius-sm)"},children:"ESC"})]}),(0,n.jsx)("div",{className:"max-h-72 overflow-y-auto py-1",children:0===h.length?(0,n.jsx)("div",{className:"px-4 py-3 text-body text-text-tertiary",children:"no results"}):h.map((e,t)=>(0,n.jsxs)("button",{type:"button",className:"flex w-full items-center gap-3 px-4 py-2.5 text-left text-body focus-visible:outline focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-accent ".concat(t===l?"bg-accent-subtle text-accent":"text-text-secondary hover:bg-surface-2 hover:text-text-primary"),onClick:()=>m(e.href),onMouseEnter:()=>c(t),children:[(0,n.jsx)("span",{className:"text-text-tertiary text-caption shrink-0",children:t===l?">":" "}),(0,n.jsx)("span",{children:e.label}),(0,n.jsx)("span",{className:"ml-auto text-caption text-text-tertiary shrink-0",children:e.href})]},e.href))})]})}):null}},30274:function(e,t,r){"use strict";r.d(t,{DashboardLayout:function(){return x},p:function(){return m}});var n=r(37821),a=r(14233),s=r(90168),o=r(4595),i=r(58078);function l(e,t){let r=Math.round((t.getTime()-e.getTime())/1e3);return r<5?"just now":r<60?"".concat(r,"s ago"):r<3600?"".concat(Math.round(r/60),"m ago"):"".concat(Math.round(r/3600),"h ago")}function c(){let e=(0,s.useRouter)(),[t,r]=(0,i.useState)(()=>new Date),[a,o]=(0,i.useState)(!1),[c,d]=(0,i.useState)(()=>new Date),[u,h]=(0,i.useState)(null),m=(0,i.useRef)(null),f=()=>{fetch("/api/github-status",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(e=>{if(e&&"string"==typeof e.last_synced_at){var t;h({repo:null!==(t=e.repo)&&void 0!==t?t:"",last_synced_at:e.last_synced_at})}else h(null)}).catch(()=>h(null))};(0,i.useEffect)(()=>{f();let e=new EventSource("/api/watch");return e.onopen=()=>o(!0),e.onmessage=()=>{r(new Date),f()},e.onerror=()=>o(!1),()=>e.close()},[e]),(0,i.useEffect)(()=>{let e=setInterval(()=>d(new Date),3e4);return()=>clearInterval(e)},[]),(0,i.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let x=a?"Updated ".concat(l(t,c)):"Reconnecting…";return(0,n.jsxs)("div",{className:"px-3 py-1 text-caption text-text-tertiary","aria-live":"polite",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",title:"Last refresh ".concat(t.toLocaleTimeString()).concat(a?"":" — watcher disconnected"),children:[(0,n.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full ".concat(a?"bg-[var(--success)]":"bg-[var(--medium)]"),"aria-hidden":"true"}),(0,n.jsx)("span",{children:x})]}),u&&(0,n.jsxs)("div",{className:"mt-1 flex items-center gap-2",title:"GitHub sync with ".concat(u.repo," at ").concat(new Date(u.last_synced_at).toLocaleTimeString()),children:[(0,n.jsx)("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-accent","aria-hidden":"true"}),(0,n.jsxs)("span",{children:["GitHub ",l(new Date(u.last_synced_at),c)]})]})]})}function d(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"})})}function u(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"})})}function h(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"})})}let m=[{label:"Recon",items:[{href:"/",label:"Home",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"})})}},{href:"/changes",label:"Changes",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5"})})},diffOnly:!0},{href:"/progress",label:"Progress",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11.35 3.836c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0 1 18 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3 1.5 1.5 3-3.75"})})}},{href:"/stats",label:"Stats",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"})})}}]},{label:"Analysis",items:[{href:"/access",label:"Access Control",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"})})}},{href:"/functions",label:"Functions",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5"})})}},{href:"/calls",label:"Ext Calls",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5"})})}}]},{label:"Reasoning",items:[{href:"/conformance",label:"Spec Conformance",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375"})})}},{href:"/notes",label:"Notes",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"})})}}]},{label:"Visual",items:[{href:"/diagram",label:"Diagram",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v1.5M16.5 3.75H18A2.25 2.25 0 0 1 20.25 6v1.5m0 9V18A2.25 2.25 0 0 1 18 20.25h-1.5m-9 0H6A2.25 2.25 0 0 1 3.75 18v-1.5M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})})}},{href:"/flows",label:"Flows",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 3v11.25A2.25 2.25 0 0 0 6 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0 1 18 16.5h-2.25m-7.5 0h7.5m-7.5 0-1 3m8.5-3 1 3m0 0 .5 1.5m-.5-1.5h-9.5m0 0-.5 1.5"})})}}]},{label:"Issues",items:[{href:"/issues",label:"Board",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"})})}},{href:"/report",label:"Report",icon:function(e){return(0,n.jsx)("svg",{...e,"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"})})}}]}];function f(){let{theme:e,setTheme:t}=(0,o.F)(),[r,a]=(0,i.useState)(!1);return((0,i.useEffect)(()=>a(!0),[]),r)?(0,n.jsxs)("button",{type:"button",onClick:()=>t("dark"===e?"light":"dark"),"aria-label":"Switch to ".concat("dark"===e?"light":"dark"," mode"),className:"flex w-full items-center gap-2.5 rounded-md px-3 py-2 text-body text-text-secondary hover:bg-surface-2 hover:text-text-primary",children:[(0,n.jsx)("light"===e?u:h,{className:"h-4 w-4 shrink-0"}),(0,n.jsx)("span",{children:"light"===e?"Light":"Dark"})]}):(0,n.jsx)("div",{className:"h-9"})}function x(e){let{children:t,version:r,diffMode:o=!1}=e,l=(0,s.usePathname)(),[u,h]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{h(!1)},[l]),(0,n.jsxs)("div",{className:"min-h-screen",children:[(0,n.jsx)("button",{type:"button","aria-label":"Toggle navigation",onClick:()=>h(!u),className:"fixed left-3 top-3 z-[60] flex h-10 w-10 items-center justify-center rounded-md bg-surface-1 border border-border-default text-text-secondary hover:text-text-primary md:hidden",children:(0,n.jsx)(d,{className:"h-5 w-5"})}),u&&(0,n.jsx)("div",{className:"fixed inset-0 z-40 md:hidden",style:{background:"var(--overlay-bg)"},onClick:()=>h(!1)}),(0,n.jsxs)("nav",{"aria-label":"Main navigation",className:"fixed left-0 top-0 z-50 flex h-screen w-[220px] flex-col border-r border-border-subtle bg-surface-1 transition-transform duration-200 ".concat(u?"translate-x-0":"-translate-x-full"," md:translate-x-0"),children:[(0,n.jsx)("div",{className:"px-5 pb-4 pt-6",children:(0,n.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,n.jsx)("span",{className:"text-title font-semibold text-text-primary",children:"Hex"}),(0,n.jsxs)("span",{className:"text-caption text-text-tertiary",children:["v",r]})]})}),(0,n.jsx)("div",{className:"flex-1 overflow-y-auto px-3 pb-4",children:m.map(e=>(0,n.jsxs)("div",{className:"mt-6 first:mt-0",children:[(0,n.jsx)("div",{className:"mb-1.5 px-3 text-caption font-medium text-text-tertiary",children:e.label}),e.items.filter(e=>o||!e.diffOnly).map(e=>{let t=l===e.href;return(0,n.jsxs)(a.default,{href:e.href,"aria-current":t?"page":void 0,className:"group flex items-center gap-2.5 rounded-md px-3 py-2 text-body ".concat(t?"bg-accent-subtle text-accent font-medium":"text-text-secondary hover:bg-surface-2 hover:text-text-primary"),children:[(0,n.jsx)(e.icon,{className:"h-4 w-4 shrink-0"}),(0,n.jsx)("span",{children:e.label})]},e.href)})]},e.label))}),(0,n.jsxs)("div",{className:"border-t border-border-subtle px-3 py-3 space-y-1",children:[(0,n.jsx)(c,{}),(0,n.jsx)(f,{}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1 text-caption text-text-tertiary",children:[(0,n.jsx)("kbd",{className:"rounded border border-border-default bg-surface-2 px-1.5 py-0.5 text-[11px]",children:"⌘K"}),(0,n.jsx)("span",{children:"Quick nav"})]})]})]}),(0,n.jsx)("main",{className:"min-h-screen bg-surface-0 p-6 pt-16 md:ml-[220px] md:pt-6",children:(0,n.jsx)("div",{className:"mx-auto ".concat("/issues"===l?"max-w-none":"max-w-6xl"),children:t})})]})}},14233:function(e,t,r){"use strict";r.d(t,{default:function(){return a.a}});var n=r(67498),a=r.n(n)},90168:function(e,t,r){"use strict";var n=r(87462);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}})},13812:function(){},55256:function(e){e.exports={style:{fontFamily:"'__JetBrains_Mono_4dc837', '__JetBrains_Mono_Fallback_4dc837'",fontStyle:"normal"},className:"__className_4dc837",variable:"__variable_4dc837"}},41600:function(e){e.exports={style:{fontFamily:"'__Manrope_855f89', '__Manrope_Fallback_855f89'",fontStyle:"normal"},className:"__className_855f89",variable:"__variable_855f89"}},4595:function(e,t,r){"use strict";r.d(t,{F:function(){return d},ThemeProvider:function(){return u}});var n=r(58078),a=(e,t,r,n,a,s,o,i)=>{let l=document.documentElement,c=["light","dark"];function d(t){(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&s?a.map(e=>s[e]||e):a;r?(l.classList.remove(...n),l.classList.add(s&&s[t]?s[t]:t)):l.setAttribute(e,t)}),i&&c.includes(t)&&(l.style.colorScheme=t)}if(n)d(n);else try{let e=localStorage.getItem(t)||r,n=o&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;d(n)}catch(e){}},s=["light","dark"],o="(prefers-color-scheme: dark)",i="undefined"==typeof window,l=n.createContext(void 0),c={setTheme:e=>{},themes:[]},d=()=>{var e;return null!=(e=n.useContext(l))?e:c},u=e=>n.useContext(l)?n.createElement(n.Fragment,null,e.children):n.createElement(m,{...e}),h=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:r=!1,enableSystem:a=!0,enableColorScheme:i=!0,storageKey:c="theme",themes:d=h,defaultTheme:u=a?"system":"light",attribute:m="data-theme",value:b,children:k,nonce:y,scriptProps:g}=e,[j,w]=n.useState(()=>x(c,u)),[L,M]=n.useState(()=>"system"===j?v():j),C=b?Object.values(b):d,N=n.useCallback(e=>{let t=e;if(!t)return;"system"===e&&a&&(t=v());let n=b?b[t]:t,o=r?p(y):null,l=document.documentElement,c=e=>{"class"===e?(l.classList.remove(...C),n&&l.classList.add(n)):e.startsWith("data-")&&(n?l.setAttribute(e,n):l.removeAttribute(e))};if(Array.isArray(m)?m.forEach(c):c(m),i){let e=s.includes(u)?u:null,r=s.includes(t)?t:e;l.style.colorScheme=r}null==o||o()},[y]),_=n.useCallback(e=>{let t="function"==typeof e?e(j):e;w(t);try{localStorage.setItem(c,t)}catch(e){}},[j]),S=n.useCallback(e=>{M(v(e)),"system"===j&&a&&!t&&N("system")},[j,t]);n.useEffect(()=>{let e=window.matchMedia(o);return e.addListener(S),S(e),()=>e.removeListener(S)},[S]),n.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?w(e.newValue):_(u))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[_]),n.useEffect(()=>{N(null!=t?t:j)},[t,j]);let E=n.useMemo(()=>({theme:j,setTheme:_,forcedTheme:t,resolvedTheme:"system"===j?L:j,themes:a?[...d,"system"]:d,systemTheme:a?L:void 0}),[j,_,t,L,a,d]);return n.createElement(l.Provider,{value:E},n.createElement(f,{forcedTheme:t,storageKey:c,attribute:m,enableSystem:a,enableColorScheme:i,defaultTheme:u,value:b,themes:d,nonce:y,scriptProps:g}),k)},f=n.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:s,enableSystem:o,enableColorScheme:i,defaultTheme:l,value:c,themes:d,nonce:u,scriptProps:h}=e,m=JSON.stringify([s,r,l,t,d,c,o,i]).slice(1,-1);return n.createElement("script",{...h,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?u:"",dangerouslySetInnerHTML:{__html:"(".concat(a.toString(),")(").concat(m,")")}})}),x=(e,t)=>{let r;if(!i){try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t}},p=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},v=e=>(e||(e=window.matchMedia(o)),e.matches?"dark":"light")}},function(e){e.O(0,[5116,7498,7115,3205,1744],function(){return e(e.s=69640)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9151],{3152:function(e,t,r){Promise.resolve().then(r.bind(r,72024))},72024:function(e,t,r){"use strict";r.d(t,{NotesClient:function(){return l}});var s=r(37821),n=r(58078),a=r(90168),o=r(29487);let i="__other__",c="general";function l(e){var t,r;let{general:o,contractNotes:l,contractOptions:x,activeContract:p,unprocessedCount:m}=e,h=(0,a.useRouter)(),b=(0,n.useMemo)(()=>[{key:c,label:"General"},...l.map(e=>({key:e.contract,label:e.contract}))],[l]),y=p&&b.some(e=>e.key===p)?p:c,[f,j]=(0,n.useState)(y),g=null!==(t=l.find(e=>e.contract===f))&&void 0!==t?t:null,[N,v]=(0,n.useState)("idle"),[k,w]=(0,n.useState)(null!==(r=null!=p?p:x[0])&&void 0!==r?r:i),[C,S]=(0,n.useState)(""),[R,T]=(0,n.useState)(0),[q,_]=(0,n.useState)(null),P=(0,n.useRef)(null),E=(0,n.useRef)([]),M=(0,n.useRef)(null),L=(0,n.useRef)(null),O=(k===i?C:k).trim(),I=(0,n.useCallback)(async()=>{v("transcribing"),_("Transcribing locally…");try{let t=new Blob(E.current,{type:"audio/webm"}),r=new FormData;r.append("audio",t,"narration.webm"),r.append("contract",O||"general");let s=await fetch("/api/notes/record",{method:"POST",body:r}),n=await s.json().catch(()=>({}));if(422===s.status&&n.whisperMissing)_("Audio saved (".concat(n.audioSaved,") but no local Whisper engine is installed. ").concat(n.error));else if(s.ok)_("Session saved for ".concat(n.contract,". Run /diane in Claude Code to process it.")),h.refresh();else{var e;_(null!==(e=n.error)&&void 0!==e?e:"Recording failed")}}catch(e){_(e instanceof Error?e.message:"Recording failed")}finally{v("idle")}},[O,h]),B=(0,n.useCallback)(async()=>{_(null);try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});M.current=e,E.current=[];let t=new MediaRecorder(e);t.ondataavailable=e=>{e.data.size>0&&E.current.push(e.data)},t.onstop=()=>{var e;null===(e=M.current)||void 0===e||e.getTracks().forEach(e=>e.stop()),L.current&&clearInterval(L.current),I()},P.current=t,t.start(),T(0),L.current=setInterval(()=>T(e=>e+1),1e3),v("recording")}catch(e){_("Could not access the microphone. Grant permission and try again.")}},[I]),G=(0,n.useCallback)(()=>{var e;null===(e=P.current)||void 0===e||e.stop()},[]),A="idle"===N&&O.length>0;return(0,s.jsxs)("div",{className:"space-y-sp-5",children:[(0,s.jsxs)("div",{className:"rounded-lg border border-border-subtle bg-surface-1 p-4",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,s.jsx)("span",{className:"text-heading font-medium text-text-primary",children:"Record narration"}),(0,s.jsxs)("select",{value:k,onChange:e=>w(e.target.value),disabled:"idle"!==N,className:"rounded-md border border-border-default bg-surface-2 px-3 py-1.5 text-body text-text-primary focus:outline-none focus:ring-2 focus:ring-accent disabled:opacity-50",children:[x.map(e=>(0,s.jsx)("option",{value:e,children:e},e)),(0,s.jsx)("option",{value:i,children:"Other…"})]}),k===i&&(0,s.jsx)("input",{type:"text",placeholder:"Contract name",value:C,onChange:e=>S(e.target.value),disabled:"idle"!==N,className:"rounded-md border border-border-default bg-surface-2 px-3 py-1.5 text-body text-text-primary focus:outline-none focus:ring-2 focus:ring-accent disabled:opacity-50"}),"recording"===N?(0,s.jsxs)("button",{type:"button",onClick:G,className:"flex items-center gap-2 rounded-md bg-severity-critical px-3 py-1.5 text-body font-medium text-surface-0",children:[(0,s.jsx)("span",{className:"h-2.5 w-2.5 rounded-sm bg-surface-0"}),"Stop \xb7 ","".concat(Math.floor(R/60),":").concat(String(R%60).padStart(2,"0"))]}):(0,s.jsxs)("button",{type:"button",onClick:B,disabled:!A,className:"flex items-center gap-2 rounded-md bg-accent px-3 py-1.5 text-body font-medium text-surface-0 transition-opacity duration-200 hover:opacity-90 disabled:opacity-40",children:[(0,s.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-surface-0"}),"transcribing"===N?"Transcribing…":"Record"]})]}),q&&(0,s.jsx)("p",{className:"mt-3 text-caption text-text-secondary",children:q}),m>0&&(0,s.jsxs)("p",{className:"mt-2 text-caption text-accent",children:[m," narration session",m>1?"s":""," waiting — run"," ",(0,s.jsx)("code",{className:"font-mono",children:"/diane"})," in Claude Code to process."]})]}),(0,s.jsxs)("div",{className:"flex gap-sp-5",children:[(0,s.jsx)("nav",{className:"w-44 shrink-0 space-y-0.5",children:b.map(e=>(0,s.jsx)("button",{type:"button",onClick:()=>j(e.key),className:"block w-full truncate rounded-md px-3 py-1.5 text-left text-body transition-colors duration-200 ".concat(e.key===f?"bg-accent-subtle font-medium text-accent":"text-text-secondary hover:bg-surface-2 hover:text-text-primary"),children:e.label},e.key))}),(0,s.jsx)("div",{className:"min-w-0 flex-1",children:f===c?(0,s.jsx)(d,{body:o}):(0,s.jsx)(u,{note:g,contract:f,onMutate:()=>h.refresh()})})]})]})}function d(e){let{body:t}=e;return(0,s.jsxs)("div",{className:"rounded-lg border border-border-subtle bg-surface-1 p-5",children:[(0,s.jsx)("div",{className:"mb-3 text-heading font-medium text-text-primary",children:"General"}),t.trim()?(0,s.jsx)(o.MarkdownRenderer,{content:t}):(0,s.jsxs)("p",{className:"text-body text-text-tertiary",children:["No protocol-wide notes yet. Record a narration above against"," ",(0,s.jsx)("span",{className:"font-medium",children:"Other…"})," as ",(0,s.jsx)("code",{className:"font-mono",children:"general"})," and run ",(0,s.jsx)("code",{className:"font-mono",children:"/diane"}),"."]})]})}let x=[{id:"leads",label:"Leads"},{id:"description",label:"Description"},{id:"questions",label:"Questions"}];function u(e){let{note:t,contract:r,onMutate:a}=e,[o,i]=(0,n.useState)(!1),c=(0,n.useCallback)(async(e,t)=>{i(!0);try{var r;let s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok)throw Error(null!==(r=(await s.json().catch(()=>({}))).error)&&void 0!==r?r:"request failed");a()}catch(e){}finally{i(!1)}},[a]),l=!t||0===t.leads.length&&0===t.questions.length&&0===t.description.purpose.length&&0===t.description.inheritance.length&&0===t.description.storage.length&&0===t.description.roles.length&&0===t.description.functions.length;return(0,s.jsxs)("div",{className:"rounded-lg border border-border-subtle bg-surface-1 p-5",children:[(0,s.jsxs)("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-heading font-medium text-text-primary",children:r}),(null==t?void 0:t.file)&&(0,s.jsx)("span",{className:"font-mono text-caption text-text-tertiary",children:t.file})]}),(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-caption text-text-secondary",children:[(0,s.jsx)("input",{type:"checkbox",checked:!!(null==t?void 0:t.marked_done),disabled:o||!t,onChange:e=>c("/api/notes/done",{contract:r,done:e.target.checked}),className:"h-4 w-4 rounded border-border-emphasis bg-surface-1 accent-[var(--accent)]"}),"Mark done reading"]})]}),l?(0,s.jsxs)("p",{className:"text-body text-text-tertiary",children:["No notes yet — record a narration above and run ",(0,s.jsx)("code",{className:"font-mono",children:"/diane"}),"."]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("nav",{className:"mb-5 flex flex-wrap items-center gap-1 border-b border-border-subtle pb-3 text-caption",children:x.map(e=>(0,s.jsx)("button",{type:"button",onClick:()=>{var t,r;return t=e.id,void(null===(r=document.getElementById("note-".concat(t)))||void 0===r||r.scrollIntoView({behavior:"smooth",block:"start"}))},className:"rounded-md px-2 py-1 text-text-secondary transition-colors duration-200 hover:bg-surface-2 hover:text-text-primary",children:e.label},e.id))}),(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(p,{leads:t.leads,contract:r,busy:o,post:c}),(0,s.jsx)(h,{note:t}),(0,s.jsx)(y,{questions:t.questions,contract:r,busy:o,post:c})]})]})]})}function p(e){let{leads:t,contract:r,busy:a,post:i}=e,c=t.filter(e=>"open"===e.status),l=t.filter(e=>"open"!==e.status),[d,x]=(0,n.useState)(!1);return(0,s.jsxs)("section",{id:"note-leads",children:[(0,s.jsx)("h3",{className:"mb-2 text-heading font-medium text-text-primary",children:"Leads"}),0===c.length?(0,s.jsx)("p",{className:"text-body text-text-tertiary",children:"No open leads."}):(0,s.jsx)("ul",{className:"space-y-2",children:c.map(e=>(0,s.jsxs)("li",{className:"flex items-start justify-between gap-3 rounded-md border border-border-subtle bg-surface-2 px-3 py-2",children:[(0,s.jsxs)("span",{className:"min-w-0 flex-1 text-body text-text-primary",children:["ai-audit"===e.source&&(0,s.jsx)("span",{className:"mr-2 rounded-md bg-surface-3 px-1.5 py-0.5 text-caption text-text-tertiary",children:"AI audit"}),(0,s.jsx)(o.T,{children:e.text})]}),(0,s.jsx)("button",{type:"button",disabled:a,onClick:()=>i("/api/notes/lead",{contract:r,id:e.id,action:"close",status:"dismissed"}),className:"shrink-0 rounded-md border border-border-default px-2.5 py-1 text-caption text-text-secondary transition-colors duration-200 hover:bg-surface-3 hover:text-text-primary disabled:opacity-50",children:"Close"})]},e.id))}),l.length>0&&(0,s.jsxs)("div",{className:"mt-3",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>x(e=>!e),className:"flex items-center gap-1.5 text-caption text-text-tertiary transition-colors duration-200 hover:text-text-secondary",children:[(0,s.jsx)("svg",{className:"h-3.5 w-3.5 transition-transform duration-200 ".concat(d?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m9 5 7 7-7 7"})}),"Closed (",l.length,")"]}),d&&(0,s.jsx)("ul",{className:"mt-2 space-y-1.5",children:l.map(e=>(0,s.jsxs)("li",{className:"flex items-start justify-between gap-3 rounded-md px-3 py-1.5",children:[(0,s.jsxs)("span",{className:"min-w-0 flex-1 text-caption text-text-tertiary",children:[(0,s.jsx)("span",{className:"line-through",children:(0,s.jsx)(o.T,{children:e.text})}),"logged"===e.status&&e.ref&&(0,s.jsxs)("span",{className:"ml-2 font-mono text-text-secondary",children:["→ ",e.ref]}),"dismissed"===e.status&&(0,s.jsx)("span",{className:"ml-2 text-text-tertiary",children:"dismissed"})]}),(0,s.jsx)("button",{type:"button",disabled:a,onClick:()=>i("/api/notes/lead",{contract:r,id:e.id,action:"reopen"}),className:"shrink-0 rounded-md px-2 py-0.5 text-caption text-text-secondary transition-colors duration-200 hover:text-accent disabled:opacity-50",children:"Reopen"})]},e.id))})]})]})}function m(e){let{label:t,items:r}=e;return 0===r.length?null:(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{className:"mb-1 text-body font-medium text-text-secondary",children:t}),(0,s.jsx)("ul",{className:"list-disc space-y-0.5 pl-5 text-body text-text-primary",children:r.map((e,t)=>(0,s.jsx)("li",{children:(0,s.jsx)(o.T,{children:e})},t))})]})}function h(e){let{note:t}=e,{purpose:r,inheritance:n,storage:a,roles:o,functions:i}=t.description,c=r.length>0||n.length>0||a.length>0||o.length>0||i.length>0;return(0,s.jsxs)("section",{id:"note-description",children:[(0,s.jsx)("h3",{className:"mb-3 text-heading font-medium text-text-primary",children:"Description"}),c?(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)(m,{label:"Purpose",items:r}),(0,s.jsx)(m,{label:"Inheritance",items:n}),(0,s.jsx)(m,{label:"Storage",items:a}),(0,s.jsx)(m,{label:"Roles & modifiers",items:o}),i.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{className:"mb-1.5 text-body font-medium text-text-secondary",children:"Functions"}),(0,s.jsx)("div",{className:"space-y-1.5",children:i.map(e=>(0,s.jsx)(b,{fn:e},e.id))})]})]}):(0,s.jsx)("p",{className:"text-body text-text-tertiary",children:"No description recorded yet."})]})}function b(e){let{fn:t}=e,[r,a]=(0,n.useState)(!1),i=[["Purpose",t.purpose],["Access",t.access],["Effects",t.effects]];return(0,s.jsxs)("div",{className:"rounded-md border border-border-subtle",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>a(e=>!e),className:"flex w-full items-center gap-2 rounded-md bg-surface-2 px-3 py-2 text-left transition-colors duration-200 hover:bg-surface-3",children:[(0,s.jsx)("svg",{className:"h-4 w-4 shrink-0 text-text-tertiary transition-transform duration-200 ".concat(r?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m9 5 7 7-7 7"})}),(0,s.jsx)("span",{className:"min-w-0 truncate font-mono text-body text-text-primary",children:t.sig}),t.warnings.length>0&&(0,s.jsxs)("span",{className:"ml-auto shrink-0 text-caption text-[var(--high)]",children:["⚠ ",t.warnings.length]})]}),r&&(0,s.jsxs)("div",{className:"space-y-2 px-3 py-2.5",children:[i.filter(e=>{let[,t]=e;return t&&t.trim()}).map(e=>{let[t,r]=e;return(0,s.jsxs)("p",{className:"text-body text-text-primary",children:[(0,s.jsxs)("span",{className:"text-text-secondary",children:[t,": "]}),(0,s.jsx)(o.T,{children:r})]},t)}),t.notes.length>0&&(0,s.jsx)("ul",{className:"list-disc space-y-0.5 pl-5 text-body text-text-primary",children:t.notes.map((e,t)=>(0,s.jsx)("li",{children:(0,s.jsx)(o.T,{children:e})},t))}),t.warnings.length>0&&(0,s.jsx)("ul",{className:"space-y-1",children:t.warnings.map((e,t)=>(0,s.jsxs)("li",{className:"flex items-start gap-1.5 rounded-md bg-[var(--high)]/10 px-2 py-1 text-body text-[var(--high)]",children:[(0,s.jsx)("span",{"aria-hidden":!0,children:"⚠"}),(0,s.jsx)("span",{className:"min-w-0 flex-1",children:(0,s.jsx)(o.T,{children:e})})]},t))})]})]})}function y(e){let{questions:t,contract:r,busy:n,post:a}=e;return(0,s.jsxs)("section",{id:"note-questions",children:[(0,s.jsx)("h3",{className:"mb-2 text-heading font-medium text-text-primary",children:"Questions"}),0===t.length?(0,s.jsx)("p",{className:"text-body text-text-tertiary",children:"No questions recorded yet."}):(0,s.jsx)("div",{className:"space-y-1.5",children:t.map(e=>(0,s.jsx)(f,{question:e,contract:r,busy:n,post:a},e.id))})]})}function f(e){var t;let{question:r,contract:a,busy:i,post:c}=e,l=!!(r.answer&&r.answer.trim()),[d,x]=(0,n.useState)(!1),[u,p]=(0,n.useState)(!1),[m,h]=(0,n.useState)(null!==(t=r.answer)&&void 0!==t?t:"");return(0,s.jsxs)("div",{className:"rounded-md border border-border-subtle",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>x(e=>!e),className:"flex w-full items-center gap-2 rounded-md bg-surface-2 px-3 py-2 text-left transition-colors duration-200 hover:bg-surface-3",children:[(0,s.jsx)("svg",{className:"h-4 w-4 shrink-0 text-text-tertiary transition-transform duration-200 ".concat(d?"rotate-90":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m9 5 7 7-7 7"})}),(0,s.jsx)("span",{className:"min-w-0 flex-1 text-body ".concat(l?"text-text-primary":"text-text-tertiary"),children:(0,s.jsx)(o.T,{children:r.q})}),!l&&(0,s.jsx)("span",{className:"shrink-0 text-caption text-text-tertiary",children:"open"})]}),d&&(0,s.jsx)("div",{className:"space-y-2 px-3 py-2.5",children:u?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("textarea",{value:m,onChange:e=>h(e.target.value),rows:3,className:"w-full resize-y rounded-md border border-border-default bg-surface-0 p-2 text-body text-text-primary focus:outline-none focus:ring-2 focus:ring-accent"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>{var e;p(!1),h(null!==(e=r.answer)&&void 0!==e?e:"")},className:"rounded-md px-2.5 py-1 text-caption text-text-secondary transition-colors duration-200 hover:text-text-primary",children:"Cancel"}),(0,s.jsx)("button",{type:"button",disabled:i||!m.trim(),onClick:async()=>{await c("/api/notes/question",{contract:a,id:r.id,answer:m.trim()}),p(!1)},className:"rounded-md bg-accent px-2.5 py-1 text-caption font-medium text-surface-0 transition-opacity duration-200 hover:opacity-90 disabled:opacity-50",children:"Save answer"})]})]}):(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsx)("p",{className:"min-w-0 flex-1 text-body ".concat(l?"text-text-primary":"text-text-tertiary"),children:l?(0,s.jsx)(o.T,{children:r.answer}):"— open"}),(0,s.jsx)("button",{type:"button",onClick:()=>p(!0),className:"shrink-0 rounded-md border border-border-default px-2.5 py-1 text-caption text-text-secondary transition-colors duration-200 hover:bg-surface-3 hover:text-text-primary",children:l?"Edit":"Answer"})]})})]})}},29487:function(e,t,r){"use strict";r.d(t,{MarkdownRenderer:function(){return o},T:function(){return i}});var s=r(37821),n=r(48525),a=r(45592);function o(e){let{content:t,className:r}=e;return(0,s.jsx)("div",{className:"prose max-w-none\n prose-headings:text-text-primary\n prose-p:text-text-secondary\n prose-strong:text-text-primary\n prose-code:text-accent\n prose-code:before:content-none\n prose-code:after:content-none\n prose-pre:bg-surface-0\n prose-pre:border\n prose-pre:border-border-default\n prose-a:text-accent\n prose-a:no-underline\n hover:prose-a:underline\n prose-th:text-text-primary\n prose-td:text-text-secondary\n prose-hr:border-border-default\n prose-blockquote:border-border-emphasis\n prose-blockquote:text-text-secondary\n prose-li:text-text-secondary\n ".concat(null!=r?r:""),children:(0,s.jsx)(n.UG,{remarkPlugins:[a.Z],children:t})})}function i(e){let{children:t}=e;return(0,s.jsx)(n.UG,{remarkPlugins:[a.Z],components:{p:e=>{let{children:t}=e;return(0,s.jsx)(s.Fragment,{children:t})},code:e=>{let{children:t}=e;return(0,s.jsx)("code",{className:"rounded bg-surface-0 px-1 py-0.5 font-mono text-[0.85em] text-accent",children:t})},strong:e=>{let{children:t}=e;return(0,s.jsx)("strong",{className:"font-semibold text-text-primary",children:t})},a:e=>{let{href:t,children:r}=e;return(0,s.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",className:"text-accent hover:underline",children:r})}},children:t})}},90168:function(e,t,r){"use strict";var s=r(87462);r.o(s,"usePathname")&&r.d(t,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(t,{useRouter:function(){return s.useRouter}})}},function(e){e.O(0,[7397,7115,3205,1744],function(){return e(e.s=3152)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{19778:function(e,r,n){Promise.resolve().then(n.bind(n,29487)),Promise.resolve().then(n.t.bind(n,67498,23))},29487:function(e,r,n){"use strict";n.d(r,{MarkdownRenderer:function(){return c},T:function(){return a}});var t=n(37821),o=n(48525),s=n(45592);function c(e){let{content:r,className:n}=e;return(0,t.jsx)("div",{className:"prose max-w-none\n prose-headings:text-text-primary\n prose-p:text-text-secondary\n prose-strong:text-text-primary\n prose-code:text-accent\n prose-code:before:content-none\n prose-code:after:content-none\n prose-pre:bg-surface-0\n prose-pre:border\n prose-pre:border-border-default\n prose-a:text-accent\n prose-a:no-underline\n hover:prose-a:underline\n prose-th:text-text-primary\n prose-td:text-text-secondary\n prose-hr:border-border-default\n prose-blockquote:border-border-emphasis\n prose-blockquote:text-text-secondary\n prose-li:text-text-secondary\n ".concat(null!=n?n:""),children:(0,t.jsx)(o.UG,{remarkPlugins:[s.Z],children:r})})}function a(e){let{children:r}=e;return(0,t.jsx)(o.UG,{remarkPlugins:[s.Z],components:{p:e=>{let{children:r}=e;return(0,t.jsx)(t.Fragment,{children:r})},code:e=>{let{children:r}=e;return(0,t.jsx)("code",{className:"rounded bg-surface-0 px-1 py-0.5 font-mono text-[0.85em] text-accent",children:r})},strong:e=>{let{children:r}=e;return(0,t.jsx)("strong",{className:"font-semibold text-text-primary",children:r})},a:e=>{let{href:r,children:n}=e;return(0,t.jsx)("a",{href:r,target:"_blank",rel:"noreferrer",className:"text-accent hover:underline",children:n})}},children:r})}}},function(e){e.O(0,[7397,7498,7115,3205,1744],function(){return e(e.s=19778)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7092],{25534:function(e,t,s){Promise.resolve().then(s.bind(s,77701))},77701:function(e,t,s){"use strict";s.d(t,{ProgressClient:function(){return x}});var a=s(37821),r=s(58078);function i(e){return"".concat(e.file,"::").concat(e.contract)}function n(e){return e>=67?"text-[var(--success)]":e>=34?"text-[var(--medium)]":"text-[var(--critical)]"}let l={contract:0,abstract:1,library:2,interface:3},c={contract:"bg-[var(--low)]/15 text-[var(--low)]",interface:"bg-[var(--info)]/15 text-[var(--info)]",library:"bg-[var(--info)]/15 text-[var(--info)]",abstract:"bg-[var(--high)]/15 text-[var(--high)]"},d=["Critical","High","Medium","Low","Info","Gas"],o={Critical:"bg-[var(--critical)]/15 text-[var(--critical)]",High:"bg-[var(--high)]/15 text-[var(--high)]",Medium:"bg-[var(--medium)]/15 text-[var(--medium)]",Low:"bg-[var(--low)]/15 text-[var(--low)]",Info:"bg-[var(--info)]/15 text-[var(--info)]",Gas:"bg-surface-3 text-text-secondary"};function x(e){let{contracts:t,totalsNsloc:s,reviewedContracts:x,dianeReviewed:p,auditSteps:m,findingsTotal:u,findingsBySeverity:h,findingsTracked:v}=e,[f,b]=(0,r.useState)(x),[g,j]=(0,r.useState)("all"),y=e=>!!f[e]||!!p[e],N=(0,r.useMemo)(()=>t.filter(e=>y(i(e))).reduce((e,t)=>e+t.nsloc,0),[t,f,p]),w=(0,r.useMemo)(()=>t.filter(e=>y(i(e))).length,[t,f,p]),C=s>0?N/s*100:0,k=m.filter(e=>e.completed).length/m.length*100,M=u>0?v/u*100:100,O=.7*C+.2*k+.1*M,S=(0,r.useMemo)(()=>{let e=[...t].sort((e,t)=>{var s,a;let r=null!==(s=l[e.type])&&void 0!==s?s:99,i=null!==(a=l[t.type])&&void 0!==a?a:99;return r!==i?r-i:t.nsloc-e.nsloc});return"all"===g?e:e.filter(e=>{let t=y(i(e));return"checked"===g?t:!t})},[t,g,f,p]),L=(0,r.useMemo)(()=>Math.max(...t.map(e=>e.nsloc),1),[t]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"mb-sp-5 rounded-md border border-border-default bg-surface-2 p-sp-4",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-baseline justify-between gap-sp-2",children:[(0,a.jsxs)("span",{className:"text-display font-semibold ".concat(n(O)),children:[O.toFixed(0),"%"]}),(0,a.jsxs)("span",{className:"text-caption text-text-tertiary inline-flex items-center gap-1.5",title:"Overall progress is a weighted average: 70% nSLOC reviewed (contract review), 20% audit-step completion, 10% findings triage.","aria-label":"Overall progress formula: 70% contract review by nSLOC, 20% step completion, 10% findings triage",children:["Contract Review ",C.toFixed(0),"% \xb7 Steps ",k.toFixed(0),"% \xb7 Triage ",M.toFixed(0),"%",(0,a.jsx)("svg",{className:"h-3.5 w-3.5 text-text-tertiary","aria-hidden":"true",viewBox:"0 0 16 16",fill:"currentColor",children:(0,a.jsx)("path",{d:"M8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13zM7.25 7.25a.75.75 0 0 1 1.5 0v3.5a.75.75 0 0 1-1.5 0v-3.5zM8 4.5a.875.875 0 1 1 0 1.75A.875.875 0 0 1 8 4.5z"})})]})]}),(0,a.jsx)("div",{className:"h-3 w-full overflow-hidden rounded-full bg-surface-3",children:(0,a.jsx)("div",{className:"h-full rounded-full transition-all duration-300 ".concat(O>=67?"bg-[var(--success)]":O>=34?"bg-[var(--medium)]":"bg-[var(--critical)]"),style:{width:"".concat(Math.min(O,100),"%")},role:"progressbar","aria-valuenow":Math.round(O),"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Overall audit progress"})}),(0,a.jsx)("p",{className:"mt-2 text-caption text-text-tertiary",children:"Weighted: 70% nSLOC reviewed \xb7 20% audit steps \xb7 10% findings triage. Hover the breakdown for details."})]}),(0,a.jsxs)("div",{className:"mb-sp-5 grid grid-cols-2 gap-sp-3 lg:grid-cols-4",children:[(0,a.jsxs)("div",{className:"rounded-md border border-border-default bg-surface-2 p-sp-4",children:[(0,a.jsxs)("div",{className:"text-display ".concat(n(O)),children:[O.toFixed(0),"%"]}),(0,a.jsx)("div",{className:"mt-1 text-caption text-text-secondary",children:"Overall Progress"})]}),(0,a.jsxs)("div",{className:"rounded-md border border-border-default bg-surface-2 p-sp-4",children:[(0,a.jsxs)("div",{className:"text-display text-text-primary",children:[w," / ",t.length]}),(0,a.jsx)("div",{className:"mt-1 text-caption text-text-secondary",children:"Contracts Reviewed"})]}),(0,a.jsxs)("div",{className:"rounded-md border border-border-default bg-surface-2 p-sp-4",children:[(0,a.jsxs)("div",{className:"text-display text-text-primary",children:[N.toLocaleString()," / ",s.toLocaleString()]}),(0,a.jsx)("div",{className:"mt-1 text-caption text-text-secondary",children:"nSLOC Reviewed"})]}),(0,a.jsxs)("div",{className:"rounded-md border border-border-default bg-surface-2 p-sp-4",children:[(0,a.jsx)("div",{className:"text-display text-text-primary",children:u}),(0,a.jsx)("div",{className:"mt-1 text-caption text-text-secondary",children:"Findings"}),Object.keys(h).length>0&&(0,a.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:d.filter(e=>h[e]).map(e=>{var t;return(0,a.jsxs)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(null!==(t=o[e])&&void 0!==t?t:"bg-surface-3 text-text-secondary"),children:[h[e]," ",e]},e)})})]})]}),(0,a.jsxs)("div",{className:"mb-sp-5",children:[(0,a.jsx)("h3",{className:"mb-sp-2 text-heading font-medium text-text-primary",children:"Audit Steps"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:m.map(e=>(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full px-3 py-1 text-caption font-medium ".concat(e.completed?"bg-[var(--success)]/15 text-[var(--success)]":"bg-surface-3 text-text-tertiary"),children:[e.completed?(0,a.jsx)("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 20 20",fill:"currentColor",children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z",clipRule:"evenodd"})}):(0,a.jsx)("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 20 20",fill:"currentColor",children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm.75-11.25a.75.75 0 0 0-1.5 0v2.5h-2.5a.75.75 0 0 0 0 1.5h2.5v2.5a.75.75 0 0 0 1.5 0v-2.5h2.5a.75.75 0 0 0 0-1.5h-2.5v-2.5Z",clipRule:"evenodd"})}),e.label]},e.label))})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-sp-2 flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"text-heading font-medium text-text-primary",children:"Contract Checklist"}),(0,a.jsx)("div",{className:"inline-flex rounded-md bg-surface-3 p-0.5",children:["all","unchecked","checked"].map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>j(e),className:"rounded-sm px-2.5 py-1 text-caption font-medium ".concat(g===e?"bg-surface-2 text-text-primary shadow-sm":"text-text-secondary hover:text-text-primary"),children:"all"===e?"All (".concat(t.length,")"):"checked"===e?"Reviewed (".concat(w,")"):"Remaining (".concat(t.length-w,")")},e))})]}),(0,a.jsx)("div",{className:"overflow-x-auto rounded-md border border-border-default",children:(0,a.jsxs)("table",{className:"w-full text-left text-body",children:[(0,a.jsx)("thead",{className:"border-b border-border-default bg-surface-2 text-caption font-medium uppercase tracking-wider text-text-tertiary",children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"w-10 px-sp-3 py-sp-2"}),(0,a.jsx)("th",{className:"px-sp-4 py-sp-2",children:"Contract"}),(0,a.jsx)("th",{className:"px-sp-4 py-sp-2",children:"File"}),(0,a.jsx)("th",{className:"px-sp-4 py-sp-2",children:"Type"}),(0,a.jsx)("th",{className:"px-sp-4 py-sp-2 text-right",children:"nSLOC"}),(0,a.jsx)("th",{className:"w-32 px-sp-4 py-sp-2",children:"Weight"})]})}),(0,a.jsx)("tbody",{className:"divide-y divide-border-subtle",children:S.map(e=>{var t;let s=i(e),r=!!f[s],n=!!p[s],l=r||n,d=n&&!r,o=e.nsloc/L*100;return(0,a.jsxs)("tr",{className:"h-9 transition-colors ".concat(l?"bg-[var(--success)]/5":"bg-surface-1"," hover:bg-surface-3"),children:[(0,a.jsx)("td",{className:"px-sp-3 py-sp-2",children:(0,a.jsx)("button",{type:"button",onClick:()=>(function(e){let t=i(e),s=!f[t];b(e=>({...e,[t]:s})),fetch("/api/progress",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reviewed_contracts:{[t]:s}})}).catch(()=>{})})(e),className:"flex h-5 w-5 items-center justify-center rounded border transition-colors ".concat(l?"border-[var(--accent)] bg-[var(--accent)] text-surface-0":"border-border-emphasis bg-surface-1 hover:border-[var(--accent)]"),children:l&&(0,a.jsx)("svg",{className:"h-3 w-3",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2,children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.5 6l2.5 2.5 4.5-5"})})})}),(0,a.jsx)("td",{className:"px-sp-4 py-sp-2 font-medium text-text-primary",children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-2",children:[e.contract,d&&(0,a.jsx)("span",{className:"inline-flex items-center rounded-md bg-accent-subtle px-1.5 py-0.5 text-caption font-medium text-accent",title:"Auto-reviewed from Diane notes: done + no open leads + no unanswered questions",children:"auto"})]})}),(0,a.jsx)("td",{className:"max-w-[200px] truncate px-sp-4 py-sp-2 font-mono text-caption text-text-tertiary",children:e.file}),(0,a.jsx)("td",{className:"px-sp-4 py-sp-2",children:(0,a.jsx)("span",{className:"inline-flex items-center rounded-sm px-2 py-0.5 text-caption font-medium ".concat(null!==(t=c[e.type])&&void 0!==t?t:"bg-surface-3 text-text-secondary"),children:e.type})}),(0,a.jsx)("td",{className:"px-sp-4 py-sp-2 text-right font-mono tabular-nums text-text-secondary",children:e.nsloc}),(0,a.jsx)("td",{className:"px-sp-4 py-sp-2",children:(0,a.jsx)("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-surface-3",children:(0,a.jsx)("div",{className:"h-full rounded-full bg-[var(--accent)]",style:{width:"".concat(o,"%")}})})})]},s)})})]})})]})]})}}},function(e){e.O(0,[7115,3205,1744],function(){return e(e.s=25534)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9420],{12748:function(e,t,s){Promise.resolve().then(s.bind(s,56902))},56902:function(e,t,s){"use strict";s.d(t,{ReportClient:function(){return r}});var a=s(37821),n=s(58078);let i=[{key:"executive_summary",label:"Executive Summary",file:"executive_summary.txt"},{key:"audited_files",label:"Audited Files",file:"audited_files.txt"},{key:"summary_of_findings",label:"Summary of Issues",file:"summary_of_findings.txt"},{key:"system_overview",label:"System Overview",file:"system_overview.txt"},{key:"findings",label:"Issues",file:"findings.txt"},{key:"documentation_eval",label:"Documentation Eval",file:"documentation_eval.txt"},{key:"test_suite",label:"Test Suite",file:"test_suite.txt"}];function r(e){var t;let{sections:s}=e,[r,o]=(0,n.useState)("executive_summary"),[l,c]=(0,n.useState)(!1),d=s[r],x=async()=>{if(d)try{await navigator.clipboard.writeText(d),c(!0),setTimeout(()=>c(!1),1500)}catch(e){}};return(0,a.jsxs)("div",{children:[(0,a.jsxs)("header",{className:"mb-6",children:[(0,a.jsx)("h1",{className:"text-title font-semibold text-text-primary",children:"Report"}),(0,a.jsxs)("p",{className:"mt-1 text-body text-text-secondary",children:["LaTeX report sections from ",(0,a.jsx)("span",{className:"font-mono text-caption",children:".hex/report/"}),". Copy each into the matching slot of the Nethermind Overleaf template, or"," ",(0,a.jsx)("span",{className:"font-mono text-caption",children:"\\input"})," the matching"," ",(0,a.jsx)("span",{className:"font-mono text-caption",children:".tex"})," files."]})]}),(0,a.jsx)("div",{className:"mb-4 flex flex-wrap gap-1.5",children:i.map(e=>{let t=e.key===r,n=!!s[e.key];return(0,a.jsx)("button",{type:"button",onClick:()=>o(e.key),className:"rounded-md px-3 py-1.5 text-caption font-medium ".concat(t?"bg-accent text-surface-0":"bg-surface-2 text-text-secondary hover:text-text-primary"," ").concat(n?"":"opacity-50"),children:e.label},e.key)})}),(0,a.jsxs)("div",{className:"rounded-lg border border-border-subtle bg-surface-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-border-subtle px-4 py-2.5",children:[(0,a.jsx)("span",{className:"font-mono text-caption text-text-tertiary",children:null===(t=i.find(e=>e.key===r))||void 0===t?void 0:t.file}),(0,a.jsx)("button",{type:"button",onClick:x,disabled:!d,className:"rounded-md border border-border-default px-2.5 py-1 text-caption text-text-secondary hover:bg-surface-2 hover:text-text-primary disabled:opacity-50",children:l?"Copied!":"Copy"})]}),d?(0,a.jsx)("pre",{className:"max-h-[70vh] overflow-auto p-4 font-mono text-caption leading-relaxed text-text-secondary whitespace-pre-wrap break-words",children:d}):(0,a.jsxs)("p",{className:"p-4 text-body text-text-tertiary",children:["This section has not been generated yet. Run"," ",(0,a.jsx)("span",{className:"font-mono text-caption",children:"/generate-report"}),"."]})]})]})}}},function(e){e.O(0,[7115,3205,1744],function(){return e(e.s=12748)}),_N_E=e.O()}]);