hex-audit 0.6.3 → 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.
- package/CLAUDE.md +137 -77
- package/DEMO.md +41 -105
- package/README.md +205 -353
- package/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/app-build-manifest.json +65 -99
- package/dashboard/.next/app-path-routes-manifest.json +1 -1
- package/dashboard/.next/build-manifest.json +14 -14
- package/dashboard/.next/next-minimal-server.js.nft.json +1 -1
- package/dashboard/.next/next-server.js.nft.json +1 -1
- package/dashboard/.next/prerender-manifest.js +1 -1
- package/dashboard/.next/prerender-manifest.json +1 -1
- package/dashboard/.next/react-loadable-manifest.json +540 -119
- package/dashboard/.next/routes-manifest.json +1 -1
- package/dashboard/.next/server/app/_not-found/page.js +1 -1
- package/dashboard/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/api/code/route.js +1 -1
- package/dashboard/.next/server/app/api/code/route.js.nft.json +1 -1
- package/dashboard/.next/server/app/api/comments/route.js +1 -0
- package/dashboard/.next/server/app/api/comments/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/diagrams/[name]/export/route.js +1 -0
- package/dashboard/.next/server/app/api/diagrams/[name]/export/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/diagrams/[name]/resolve/route.js +1 -0
- package/dashboard/.next/server/app/api/diagrams/[name]/resolve/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/diagrams/[name]/route.js +1 -0
- package/dashboard/.next/server/app/api/diagrams/[name]/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/figures/[name]/route.js +1 -0
- package/dashboard/.next/server/app/api/figures/[name]/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/focus/route.js +1 -0
- package/dashboard/.next/server/app/api/focus/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/github-status/route.js +1 -1
- package/dashboard/.next/server/app/api/invariants/[id]/route.js +1 -0
- package/dashboard/.next/server/app/api/invariants/[id]/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/issues/[id]/revert-auto/route.js +1 -0
- package/dashboard/.next/server/app/api/issues/[id]/revert-auto/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/nav/route.js +1 -0
- package/dashboard/.next/server/app/api/nav/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/notes/done/route.js +1 -1
- package/dashboard/.next/server/app/api/notes/done/route.js.nft.json +1 -1
- package/dashboard/.next/server/app/api/notes/lead/route.js +1 -1
- package/dashboard/.next/server/app/api/notes/lead/route.js.nft.json +1 -1
- package/dashboard/.next/server/app/api/notes/question/route.js +1 -1
- package/dashboard/.next/server/app/api/notes/question/route.js.nft.json +1 -1
- package/dashboard/.next/server/app/api/notes/record/route.js +3 -3
- package/dashboard/.next/server/app/api/notes/route.js +2 -2
- package/dashboard/.next/server/app/api/palette/route.js +1 -0
- package/dashboard/.next/server/app/api/palette/route.js.nft.json +1 -0
- package/dashboard/.next/server/app/api/progress/route.js +1 -1
- package/dashboard/.next/server/app/api/progress/route.js.nft.json +1 -1
- package/dashboard/.next/server/app/api/watch/route.js +2 -2
- package/dashboard/.next/server/app/api/watch/route.js.nft.json +1 -1
- package/dashboard/.next/server/app/api/xref/route.js +1 -0
- package/dashboard/.next/server/app/changes/page.js +1 -0
- package/dashboard/.next/server/app/{access → changes}/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/changes/page_client-reference-manifest.js +1 -0
- package/dashboard/.next/server/app/excalidraw-assets/[...path]/route.js +1 -0
- package/dashboard/.next/server/app/issues/page.js +5 -28
- package/dashboard/.next/server/app/issues/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/issues/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/model/page.js +1 -0
- package/dashboard/.next/server/app/{calls → model}/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/model/page_client-reference-manifest.js +1 -0
- package/dashboard/.next/server/app/page.js +1 -20
- package/dashboard/.next/server/app/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/report/page.js +1 -1
- package/dashboard/.next/server/app/report/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/report/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/review/page.js +1 -0
- package/dashboard/.next/server/app/{conformance → review}/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/review/page_client-reference-manifest.js +1 -0
- package/dashboard/.next/server/app-paths-manifest.json +20 -16
- package/dashboard/.next/server/chunks/310.js +4 -0
- package/dashboard/.next/server/chunks/370.js +1 -0
- package/dashboard/.next/server/chunks/42.js +1 -1
- package/dashboard/.next/server/chunks/624.js +14 -0
- package/dashboard/.next/server/chunks/645.js +1 -1
- package/dashboard/.next/server/chunks/649.js +1 -1
- package/dashboard/.next/server/chunks/653.js +1 -0
- package/dashboard/.next/server/functions-config-manifest.json +1 -1
- package/dashboard/.next/server/middleware-build-manifest.js +1 -1
- package/dashboard/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dashboard/.next/server/next-font-manifest.js +1 -1
- package/dashboard/.next/server/next-font-manifest.json +1 -1
- package/dashboard/.next/server/pages/500.html +1 -1
- package/dashboard/.next/server/pages/_error.js +1 -1
- package/dashboard/.next/server/pages-manifest.json +1 -1
- package/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dashboard/.next/static/bGV1ry1vvIbM5b506eVBR/_buildManifest.js +1 -0
- package/dashboard/.next/static/chunks/0bbe10ee.8e7ffa06d2170dfe.js +84 -0
- package/dashboard/.next/static/chunks/{1.8868c4d131111be7.js → 1.a666047ea18866fb.js} +2 -2
- package/dashboard/.next/static/chunks/1015.39008440ab15e196.js +226 -0
- package/dashboard/.next/static/chunks/1026.0ef689a305302427.js +1 -0
- package/dashboard/.next/static/chunks/1151.497fa63c5b9eba52.js +1 -0
- package/dashboard/.next/static/chunks/1164.34eb76767ebea46f.js +8 -0
- package/dashboard/.next/static/chunks/119.a9a79633900a235f.js +5 -0
- package/dashboard/.next/static/chunks/1199.f30cbfa151e56076.js +148 -0
- package/dashboard/.next/static/chunks/1291.6c486c9b1d4b1b3a.js +1 -0
- package/dashboard/.next/static/chunks/1375.64c20f1064a38a10.js +43 -0
- package/dashboard/.next/static/chunks/139.4691848fc5a46253.js +10 -0
- package/dashboard/.next/static/chunks/145.1bf74fecdb4022e3.js +11 -0
- package/dashboard/.next/static/chunks/1517.8e7075f78e22b3a0.js +8 -0
- package/dashboard/.next/static/chunks/165.6f174060a0ce2db4.js +6 -0
- package/dashboard/.next/static/chunks/1741.5c370b7702d2eb40.js +8 -0
- package/dashboard/.next/static/chunks/1799.8dc56017eede704e.js +9 -0
- package/dashboard/.next/static/chunks/1e36816c.5748c83adc8a6bd6.js +108 -0
- package/dashboard/.next/static/chunks/20154aaa.e87f69fe10483f8b.js +1 -0
- package/dashboard/.next/static/chunks/2061.eab75b3c1dfa068a.js +1 -0
- package/dashboard/.next/static/chunks/2077.5603adeb156c7d10.js +1 -0
- package/dashboard/.next/static/chunks/2148.3ce718f62d1b2f7c.js +10 -0
- package/dashboard/.next/static/chunks/2166.9f6592b9399eadd8.js +215 -0
- package/dashboard/.next/static/chunks/217-1d5b680ffd10e3f9.js +1 -0
- package/dashboard/.next/static/chunks/2208.fb884379aa3ae968.js +1 -0
- package/dashboard/.next/static/chunks/2276.112c7855333fca5f.js +6 -0
- package/dashboard/.next/static/chunks/{2291.85a70cb0c228157b.js → 2291.584b42ccad079b99.js} +1 -1
- package/dashboard/.next/static/chunks/2325.7decd077edfb81d9.js +24 -0
- package/dashboard/.next/static/chunks/2374-8c6f137938f8518a.js +1 -0
- package/dashboard/.next/static/chunks/{2383.62c035a052272594.js → 2383.ca81f980ce6528a4.js} +1 -1
- package/dashboard/.next/static/chunks/2445.18a86507d2996b95.js +1 -0
- package/dashboard/.next/static/chunks/2694.7dfa5fef28851903.js +1 -0
- package/dashboard/.next/static/chunks/2712.15dd8577973baf22.js +10 -0
- package/dashboard/.next/static/chunks/275.38af87389c1d33d7.js +34 -0
- package/dashboard/.next/static/chunks/2759.533dec5317e0a1d1.js +1 -0
- package/dashboard/.next/static/chunks/2781.fba46046dbf2693b.js +93 -0
- package/dashboard/.next/static/chunks/2805.35b4cd8a94978aaf.js +1 -0
- package/dashboard/.next/static/chunks/2812.62b213bef580b69a.js +1 -0
- package/dashboard/.next/static/chunks/{2879.51436986f93981d9.js → 2879.74d65e33e60505ee.js} +1 -1
- package/dashboard/.next/static/chunks/2895.bb57cacb7aaf42a1.js +9 -0
- package/dashboard/.next/static/chunks/2972.e5a9251b538dcf19.js +9 -0
- package/dashboard/.next/static/chunks/3205-fd963acf2fdfd080.js +2 -0
- package/dashboard/.next/static/chunks/3206.8d9a10db2b04b93f.js +1 -0
- package/dashboard/.next/static/chunks/3236.eac9855778a54518.js +1 -0
- package/dashboard/.next/static/chunks/3480.853a445a3784642a.js +1 -0
- package/dashboard/.next/static/chunks/3485.36766504793b7237.js +9 -0
- package/dashboard/.next/static/chunks/3626.c5dacee11c8fbc4d.js +64 -0
- package/dashboard/.next/static/chunks/3725.de9376dc994735d4.js +9 -0
- package/dashboard/.next/static/chunks/3774.1df377928e8387f7.js +9 -0
- package/dashboard/.next/static/chunks/3865.5e6d2d501380e03b.js +90 -0
- package/dashboard/.next/static/chunks/3887.073cece834a4eae2.js +1 -0
- package/dashboard/.next/static/chunks/3924-f1f85ccc7d59d7ab.js +1 -0
- package/dashboard/.next/static/chunks/3948.74201b9f0672234d.js +287 -0
- package/dashboard/.next/static/chunks/3963.39d72b3875dfe2e9.js +13 -0
- package/dashboard/.next/static/chunks/4013.73884b23bfaebdde.js +11 -0
- package/dashboard/.next/static/chunks/4117.278aff1fa23fd36e.js +6 -0
- package/dashboard/.next/static/chunks/4210.cc8594110017c579.js +11 -0
- package/dashboard/.next/static/chunks/4282.28485875540886cc.js +7 -0
- package/dashboard/.next/static/chunks/4318.a2f469a88d88f6d0.js +8 -0
- package/dashboard/.next/static/chunks/4363.8999a6e727c48003.js +1 -0
- package/dashboard/.next/static/chunks/4641.e03d118fffebd580.js +5 -0
- package/dashboard/.next/static/chunks/4728.e69372b5e5b61b8d.js +24 -0
- package/dashboard/.next/static/chunks/4787.821a6ad2816cdc60.js +23 -0
- package/dashboard/.next/static/chunks/483.a910dab7734a1074.js +8 -0
- package/dashboard/.next/static/chunks/4926.76693f542e9cc062.js +6 -0
- package/dashboard/.next/static/chunks/4938.03f6d04dabf38745.js +10 -0
- package/dashboard/.next/static/chunks/5060.47402abc10273699.js +1 -0
- package/dashboard/.next/static/chunks/5112.0757c2b0c285e62e.js +1 -0
- package/dashboard/.next/static/chunks/5199.c83ea7efb0eec705.js +11 -0
- package/dashboard/.next/static/chunks/5284.334c7c0587d5d47a.js +1 -0
- package/dashboard/.next/static/chunks/530.849957a8907eb288.js +1 -0
- package/dashboard/.next/static/chunks/5424.4e8ca0711a32bccf.js +7 -0
- package/dashboard/.next/static/chunks/55.a593a78be9714679.js +1 -0
- package/dashboard/.next/static/chunks/5535.6cd0bd8d368d8902.js +4 -0
- package/dashboard/.next/static/chunks/5626.7d4e93d7acbeffc9.js +10 -0
- package/dashboard/.next/static/chunks/5715.e16b1230cc4b4652.js +115 -0
- package/dashboard/.next/static/chunks/5775.a0d7c1b1e89b9a93.js +9 -0
- package/dashboard/.next/static/chunks/6014.641a2c53ba506241.js +104 -0
- package/dashboard/.next/static/chunks/6024.f099c15f75aa6722.js +79 -0
- package/dashboard/.next/static/chunks/{6052.033a6f1013c666eb.js → 6052.3001318955e5b36c.js} +2 -2
- package/dashboard/.next/static/chunks/6118.266956b3333b1d7a.js +9 -0
- package/dashboard/.next/static/chunks/6121.a2e6d93720b1205e.js +77 -0
- package/dashboard/.next/static/chunks/6177.a01cf0a03734cf09.js +1 -0
- package/dashboard/.next/static/chunks/618f8807-fbb1466bc29c17c6.js +1 -0
- package/dashboard/.next/static/chunks/6434.f560693253fea8de.js +1 -0
- package/dashboard/.next/static/chunks/6468.976d89ba133185f1.js +77 -0
- package/dashboard/.next/static/chunks/6540.6f3c4f2c6877ed89.js +1 -0
- package/dashboard/.next/static/chunks/6549.e3c4c1766cff1449.js +1 -0
- package/dashboard/.next/static/chunks/6853.d3ad43614e8ca0ab.js +1 -0
- package/dashboard/.next/static/chunks/690f35d0.ab57e02a04c7e9e0.js +119 -0
- package/dashboard/.next/static/chunks/6951.02a3a158d02158c9.js +5 -0
- package/dashboard/.next/static/chunks/6970.013f24568c87d918.js +11 -0
- package/dashboard/.next/static/chunks/7013.39d41e82b37be63b.js +9 -0
- package/dashboard/.next/static/chunks/{7020.831e16e26d91abc1.js → 7020.b718b1b9cea36e60.js} +2 -2
- package/dashboard/.next/static/chunks/7107.1c5412197912b8ed.js +8 -0
- package/dashboard/.next/static/chunks/7498-7cf464d8af69cd0a.js +1 -0
- package/dashboard/.next/static/chunks/7508.dd60e2d06d149f5f.js +9 -0
- package/dashboard/.next/static/chunks/7524.0fde4c61553d1491.js +3 -0
- package/dashboard/.next/static/chunks/7802.f0134c792fccd382.js +80 -0
- package/dashboard/.next/static/chunks/7834-47f318a04a05688f.js +1 -0
- package/dashboard/.next/static/chunks/{7a04ac15.1c6cea694301806c.js → 7a04ac15.e49de94ece135900.js} +1 -1
- package/dashboard/.next/static/chunks/8216.1138ec313908a708.js +5 -0
- package/dashboard/.next/static/chunks/{8233babc.780b8e272eda298f.js → 8233babc.09872dcb3ff44064.js} +1 -1
- package/dashboard/.next/static/chunks/8317.d0b3eddef4cae0d5.js +1 -0
- package/dashboard/.next/static/chunks/838.2b2aa006519ba44c.js +10 -0
- package/dashboard/.next/static/chunks/8398.924fd8f4c83417c0.js +7 -0
- package/dashboard/.next/static/chunks/8428b36f.8ac4e67061c01307.js +34 -0
- package/dashboard/.next/static/chunks/8514.85ccbbea8ab21d04.js +5 -0
- package/dashboard/.next/static/chunks/8538.5f7ebe76c4b63162.js +1 -0
- package/dashboard/.next/static/chunks/8645.98a43217d406500e.js +1 -0
- package/dashboard/.next/static/chunks/8687.9406baa8b5601fd0.js +1 -0
- package/dashboard/.next/static/chunks/8721.47346e2cb6412376.js +10 -0
- package/dashboard/.next/static/chunks/8770.4f544bd1a6f03a62.js +8 -0
- package/dashboard/.next/static/chunks/8812.3d96fd54dba566f8.js +9 -0
- package/dashboard/.next/static/chunks/8962.d22aa67a97970dd8.js +1 -0
- package/dashboard/.next/static/chunks/8986.b327224b83f4399a.js +5 -0
- package/dashboard/.next/static/chunks/9173.a7160f7d0b685fa7.js +1 -0
- package/dashboard/.next/static/chunks/9178.998a8c49996de8e4.js +1 -0
- package/dashboard/.next/static/chunks/9271.5f66c19a8ee1ff36.js +10 -0
- package/dashboard/.next/static/chunks/9282.f8d01442bab4c0da.js +2 -0
- package/dashboard/.next/static/chunks/9366.0ec24a0791b9b00f.js +1 -0
- package/dashboard/.next/static/chunks/9466.a914ce0de7d3bb84.js +1 -0
- package/dashboard/.next/static/chunks/9660.b1c8deae2c449d14.js +1 -0
- package/dashboard/.next/static/chunks/9707.5cd7d2ee933a4af5.js +6 -0
- package/dashboard/.next/static/chunks/9716.15fffc0b0038601d.js +4 -0
- package/dashboard/.next/static/chunks/{9717.6cf5c8c89403b651.js → 9717.bba51b78ebd8fd29.js} +1 -1
- package/dashboard/.next/static/chunks/9720.d63a0696776bcc60.js +1 -0
- package/dashboard/.next/static/chunks/9791.e3b3f5a367f63c8a.js +1 -0
- package/dashboard/.next/static/chunks/9811.2993c4cbd28e8d1b.js +1 -0
- package/dashboard/.next/static/chunks/9820.8c1efad5260e8137.js +1 -0
- package/dashboard/.next/static/chunks/985.50150e9eaa4bde33.js +39 -0
- package/dashboard/.next/static/chunks/997.56901b86e1b8a87b.js +8 -0
- package/dashboard/.next/static/chunks/app/_not-found/page-5ff5d54b6fd6f17e.js +1 -0
- package/dashboard/.next/static/chunks/app/changes/page-f8a860034221cad4.js +1 -0
- package/dashboard/.next/static/chunks/app/issues/page-da4da93188c414a6.js +1 -0
- package/dashboard/.next/static/chunks/app/layout-27a9da4610423c1e.js +1 -0
- package/dashboard/.next/static/chunks/app/model/page-9680e22fdd6ddb81.js +1 -0
- package/dashboard/.next/static/chunks/app/page-0e67750d99fb2836.js +1 -0
- package/dashboard/.next/static/chunks/app/report/page-b56b1db9b9dcf2b6.js +1 -0
- package/dashboard/.next/static/chunks/app/review/page-3ef69f0e0badd333.js +1 -0
- package/dashboard/.next/static/chunks/{b7167ec1.7afbab6f609e3326.js → b7167ec1.708a3d61698ca2e6.js} +1 -1
- package/dashboard/.next/static/chunks/c75e29e3.d91220f782934d80.js +1 -0
- package/dashboard/.next/static/chunks/c7ea4e13.3073a2f551aa5ac8.js +1 -0
- package/dashboard/.next/static/chunks/framework-a117d81bf1b91f9a.js +33 -0
- package/dashboard/.next/static/chunks/main-9c95a7ffedc7afb4.js +1 -0
- package/dashboard/.next/static/chunks/main-app-5662c64b50ba40d1.js +1 -0
- package/dashboard/.next/static/chunks/pages/_app-308fef0bf9b328f2.js +1 -0
- package/dashboard/.next/static/chunks/pages/_error-c91b5eabd7ac9382.js +1 -0
- package/dashboard/.next/static/chunks/webpack-6da70e4f9fcf1799.js +1 -0
- package/dashboard/.next/static/css/ceafd91ca8dd753d.css +3 -0
- package/dashboard/.next/static/css/e4aad1f9c715b79a.css +1 -0
- package/dashboard/.next/static/media/39f449c8730c2295-s.woff2 +0 -0
- package/dashboard/.next/static/media/86f65e8637cc94e3-s.woff2 +0 -0
- package/dashboard/.next/static/media/8760c4774489e4ba-s.p.woff2 +0 -0
- package/dashboard/.next/static/media/9fabb9c65b63d798-s.woff2 +0 -0
- package/dashboard/.next/static/media/Assistant-Bold.c8f39f24.woff2 +0 -0
- package/dashboard/.next/static/media/Assistant-Medium.1e75d8e6.woff2 +0 -0
- package/dashboard/.next/static/media/Assistant-Regular.7acbabb8.woff2 +0 -0
- package/dashboard/.next/static/media/Assistant-SemiBold.167acbf8.woff2 +0 -0
- package/dashboard/.next/static/media/a1f87af3f44fadbb-s.woff2 +0 -0
- package/dashboard/.next/static/media/f9e1dbe9676d9bb6-s.woff2 +0 -0
- package/dashboard/app/api/code/route.ts +26 -20
- package/dashboard/app/api/comments/route.ts +158 -0
- package/dashboard/app/api/diagrams/[name]/export/route.ts +26 -0
- package/dashboard/app/api/diagrams/[name]/resolve/route.ts +25 -0
- package/dashboard/app/api/diagrams/[name]/route.ts +37 -0
- package/dashboard/app/api/figures/[name]/route.ts +15 -0
- package/dashboard/app/api/focus/route.ts +35 -0
- package/dashboard/app/api/invariants/[id]/route.ts +35 -0
- package/dashboard/app/api/issues/[id]/revert-auto/route.ts +18 -0
- package/dashboard/app/api/nav/route.ts +120 -0
- package/dashboard/app/api/palette/route.ts +68 -0
- package/dashboard/app/api/progress/route.ts +54 -23
- package/dashboard/app/api/xref/route.ts +30 -0
- package/dashboard/app/changes/ChangesClient.tsx +838 -0
- package/dashboard/app/changes/page.tsx +44 -0
- package/dashboard/app/excalidraw-assets/[...path]/route.ts +56 -0
- package/dashboard/app/globals.css +231 -77
- package/dashboard/app/issues/BoardClient.tsx +817 -0
- package/dashboard/app/issues/page.tsx +27 -272
- package/dashboard/app/layout.tsx +37 -10
- package/dashboard/app/model/ModelClient.tsx +1303 -0
- package/dashboard/app/model/page.tsx +98 -0
- package/dashboard/app/page.tsx +195 -239
- package/dashboard/app/report/ReportClient.tsx +147 -74
- package/dashboard/app/report/page.tsx +25 -14
- package/dashboard/app/review/ReviewClient.tsx +1180 -0
- package/dashboard/app/review/page.tsx +93 -0
- package/dashboard/components/AutoRefresh.tsx +22 -19
- package/dashboard/components/CodeComments.tsx +303 -0
- package/dashboard/components/CodeNav.tsx +523 -0
- package/dashboard/components/CodeReference.tsx +92 -99
- package/dashboard/components/CodeViewer.tsx +526 -0
- package/dashboard/components/CommandPalette.tsx +141 -66
- package/dashboard/components/DiagramCanvas.tsx +275 -0
- package/dashboard/components/DianeNote.tsx +244 -0
- package/dashboard/components/LiveStatus.tsx +30 -68
- package/dashboard/components/MarkdownRenderer.tsx +34 -32
- package/dashboard/components/RecordButton.tsx +132 -0
- package/dashboard/components/ui/Button.tsx +39 -0
- package/dashboard/components/ui/Chip.tsx +37 -0
- package/dashboard/components/ui/EmptyState.tsx +31 -0
- package/dashboard/components/ui/Icons.tsx +126 -0
- package/dashboard/components/ui/Inspector.tsx +122 -0
- package/dashboard/components/ui/Kbd.tsx +15 -0
- package/dashboard/components/ui/ListRow.tsx +92 -0
- package/dashboard/components/ui/LocalTime.tsx +14 -0
- package/dashboard/components/ui/ProgressRing.tsx +54 -0
- package/dashboard/components/ui/ResizeHandle.tsx +93 -0
- package/dashboard/components/ui/RiskMeter.tsx +27 -0
- package/dashboard/components/ui/SearchField.tsx +55 -0
- package/dashboard/components/ui/SegmentedControl.tsx +71 -0
- package/dashboard/components/ui/SeverityDot.tsx +57 -0
- package/dashboard/components/ui/Sidebar.tsx +236 -0
- package/dashboard/components/ui/SplitView.tsx +122 -0
- package/dashboard/components/ui/StateGlyph.tsx +66 -0
- package/dashboard/components/ui/Toast.tsx +91 -0
- package/dashboard/lib/api.ts +17 -0
- package/dashboard/lib/cn.ts +4 -0
- package/dashboard/lib/data.ts +2 -21
- package/dashboard/lib/finding-markdown.ts +1 -1
- package/dashboard/lib/focus.ts +42 -0
- package/dashboard/lib/hotkeys.ts +41 -0
- package/dashboard/lib/inline-markdown.test.ts +11 -0
- package/dashboard/lib/live.ts +32 -0
- package/dashboard/lib/pane-width.ts +36 -0
- package/dashboard/lib/server/board.ts +229 -0
- package/dashboard/lib/server/diagrams.ts +191 -0
- package/dashboard/lib/server/safe-path.ts +28 -0
- package/dashboard/lib/server/workspace.ts +113 -0
- package/dashboard/lib/server/xref.ts +42 -0
- package/dashboard/lib/solidity.test.ts +37 -0
- package/dashboard/lib/solidity.ts +191 -0
- package/dashboard/lib/source.ts +28 -0
- package/dashboard/lib/types.ts +164 -0
- package/dashboard/lib/url.ts +18 -0
- package/dashboard/lib/watcher.ts +31 -22
- package/dashboard/tailwind.config.ts +6 -3
- package/dist/analysis/code-model.d.ts +113 -0
- package/dist/analysis/code-model.d.ts.map +1 -0
- package/dist/analysis/code-model.js +532 -0
- package/dist/analysis/code-model.js.map +1 -0
- package/dist/analysis/diff.d.ts +75 -0
- package/dist/analysis/diff.d.ts.map +1 -0
- package/dist/analysis/diff.js +787 -0
- package/dist/analysis/diff.js.map +1 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +25 -40
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/claude.d.ts.map +1 -1
- package/dist/commands/claude.js +5 -0
- package/dist/commands/claude.js.map +1 -1
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +10 -2
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/diagram.d.ts +3 -0
- package/dist/commands/diagram.d.ts.map +1 -0
- package/dist/commands/diagram.js +71 -0
- package/dist/commands/diagram.js.map +1 -0
- package/dist/commands/diff.d.ts +25 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +257 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +5 -18
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/facts.d.ts +23 -0
- package/dist/commands/facts.d.ts.map +1 -0
- package/dist/commands/facts.js +121 -0
- package/dist/commands/facts.js.map +1 -0
- package/dist/commands/fix-review.d.ts +9 -0
- package/dist/commands/fix-review.d.ts.map +1 -0
- package/dist/commands/fix-review.js +367 -0
- package/dist/commands/fix-review.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +106 -42
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/issue.d.ts.map +1 -1
- package/dist/commands/issue.js +154 -5
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +11 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/model.d.ts +4 -0
- package/dist/commands/model.d.ts.map +1 -0
- package/dist/commands/model.js +275 -0
- package/dist/commands/model.js.map +1 -0
- package/dist/commands/note.d.ts.map +1 -1
- package/dist/commands/note.js +61 -3
- package/dist/commands/note.js.map +1 -1
- package/dist/commands/review.d.ts +4 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +164 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/core/comments.d.ts +59 -0
- package/dist/core/comments.d.ts.map +1 -0
- package/dist/core/comments.js +263 -0
- package/dist/core/comments.js.map +1 -0
- package/dist/core/config.d.ts +9 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +18 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/dedup.d.ts +56 -0
- package/dist/core/dedup.d.ts.map +1 -0
- package/dist/core/dedup.js +208 -0
- package/dist/core/dedup.js.map +1 -0
- package/dist/core/errors.d.ts +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +16 -15
- package/dist/core/errors.js.map +1 -1
- package/dist/core/external-tools.d.ts +0 -14
- package/dist/core/external-tools.d.ts.map +1 -1
- package/dist/core/external-tools.js +2 -52
- package/dist/core/external-tools.js.map +1 -1
- package/dist/core/fix-review.d.ts +54 -0
- package/dist/core/fix-review.d.ts.map +1 -0
- package/dist/core/fix-review.js +98 -0
- package/dist/core/fix-review.js.map +1 -0
- package/dist/core/fuzz-sync.d.ts +93 -0
- package/dist/core/fuzz-sync.d.ts.map +1 -0
- package/dist/core/fuzz-sync.js +516 -0
- package/dist/core/fuzz-sync.js.map +1 -0
- package/dist/core/git.d.ts +31 -0
- package/dist/core/git.d.ts.map +1 -0
- package/dist/core/git.js +157 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/issues.d.ts +35 -2
- package/dist/core/issues.d.ts.map +1 -1
- package/dist/core/issues.js +201 -30
- package/dist/core/issues.js.map +1 -1
- package/dist/core/mcp-config.d.ts +12 -0
- package/dist/core/mcp-config.d.ts.map +1 -0
- package/dist/core/mcp-config.js +29 -0
- package/dist/core/mcp-config.js.map +1 -0
- package/dist/core/model.d.ts +38 -0
- package/dist/core/model.d.ts.map +1 -0
- package/dist/core/model.js +160 -0
- package/dist/core/model.js.map +1 -0
- package/dist/core/notes.d.ts +27 -1
- package/dist/core/notes.d.ts.map +1 -1
- package/dist/core/notes.js +47 -5
- package/dist/core/notes.js.map +1 -1
- package/dist/core/review.d.ts +47 -0
- package/dist/core/review.d.ts.map +1 -1
- package/dist/core/review.js +177 -1
- package/dist/core/review.js.map +1 -1
- package/dist/core/rules.d.ts +12 -0
- package/dist/core/rules.d.ts.map +1 -0
- package/dist/core/rules.js +66 -0
- package/dist/core/rules.js.map +1 -0
- package/dist/core/schema.d.ts +5458 -2189
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +605 -114
- package/dist/core/schema.js.map +1 -1
- package/dist/core/scope.d.ts +8 -0
- package/dist/core/scope.d.ts.map +1 -0
- package/dist/core/scope.js +18 -0
- package/dist/core/scope.js.map +1 -0
- package/dist/core/skills.d.ts +10 -4
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +100 -37
- package/dist/core/skills.js.map +1 -1
- package/dist/diagrams/build.d.ts +18 -0
- package/dist/diagrams/build.d.ts.map +1 -0
- package/dist/diagrams/build.js +135 -0
- package/dist/diagrams/build.js.map +1 -0
- package/dist/diagrams/excalidraw.d.ts +27 -0
- package/dist/diagrams/excalidraw.d.ts.map +1 -0
- package/dist/diagrams/excalidraw.js +219 -0
- package/dist/diagrams/excalidraw.js.map +1 -0
- package/dist/diagrams/layout.d.ts +48 -0
- package/dist/diagrams/layout.d.ts.map +1 -0
- package/dist/diagrams/layout.js +686 -0
- package/dist/diagrams/layout.js.map +1 -0
- package/dist/facts/build.d.ts +23 -0
- package/dist/facts/build.d.ts.map +1 -0
- package/dist/facts/build.js +112 -0
- package/dist/facts/build.js.map +1 -0
- package/dist/facts/extract.d.ts +53 -0
- package/dist/facts/extract.d.ts.map +1 -0
- package/dist/facts/extract.js +635 -0
- package/dist/facts/extract.js.map +1 -0
- package/dist/facts/fallback.d.ts +7 -0
- package/dist/facts/fallback.d.ts.map +1 -0
- package/dist/facts/fallback.js +156 -0
- package/dist/facts/fallback.js.map +1 -0
- package/dist/facts/implementations.d.ts +29 -0
- package/dist/facts/implementations.d.ts.map +1 -0
- package/dist/facts/implementations.js +43 -0
- package/dist/facts/implementations.js.map +1 -0
- package/dist/facts/query.d.ts +35 -0
- package/dist/facts/query.d.ts.map +1 -0
- package/dist/facts/query.js +157 -0
- package/dist/facts/query.js.map +1 -0
- package/dist/facts/xref.d.ts +53 -0
- package/dist/facts/xref.d.ts.map +1 -0
- package/dist/facts/xref.js +282 -0
- package/dist/facts/xref.js.map +1 -0
- package/dist/index.js +16 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +400 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/skills/ai-audit/LICENSE +21 -0
- package/dist/skills/ai-audit/SKILL.md +486 -0
- package/dist/skills/ai-audit/UPSTREAM.md +51 -0
- package/dist/skills/ai-audit/references/agent-prompts.md +133 -0
- package/dist/skills/ai-audit/references/assemble.sh +357 -0
- package/dist/skills/ai-audit/references/dedup-and-assembly.md +420 -0
- package/dist/skills/ai-audit/references/hacking-agents/access-control-agent.md +27 -0
- package/dist/skills/ai-audit/references/hacking-agents/asymmetry-agent.md +77 -0
- package/dist/skills/ai-audit/references/hacking-agents/boundary-agent.md +79 -0
- package/dist/skills/ai-audit/references/hacking-agents/economic-security-agent.md +35 -0
- package/dist/skills/ai-audit/references/hacking-agents/execution-trace-agent.md +33 -0
- package/dist/skills/ai-audit/references/hacking-agents/first-principles-agent.md +36 -0
- package/dist/skills/ai-audit/references/hacking-agents/flow-gap-agent.md +49 -0
- package/dist/skills/ai-audit/references/hacking-agents/invariant-agent.md +44 -0
- package/dist/skills/ai-audit/references/hacking-agents/math-precision-agent.md +48 -0
- package/dist/skills/ai-audit/references/hacking-agents/numerical-gap-agent.md +46 -0
- package/dist/skills/ai-audit/references/hacking-agents/periphery-agent.md +27 -0
- package/dist/skills/ai-audit/references/hacking-agents/shared-rules.md +61 -0
- package/dist/skills/ai-audit/references/hacking-agents/trust-gap-agent.md +40 -0
- package/dist/skills/ai-audit/references/hex-board.md +211 -0
- package/dist/skills/ai-audit/references/hex-export.sh +71 -0
- package/dist/skills/ai-audit/references/judging.md +75 -0
- package/dist/skills/ai-audit/references/report-formatting.md +385 -0
- package/dist/skills/ai-audit/references/report-language.md +151 -0
- package/dist/skills/ai-audit/references/senior-auditor-sop.md +63 -0
- package/dist/skills/diane.md +26 -12
- package/dist/skills/fix-review.md +58 -0
- package/dist/skills/fuzz/LICENSE +21 -0
- package/dist/skills/fuzz/SKILL.md +655 -0
- package/dist/skills/fuzz/UPSTREAM.md +119 -0
- package/dist/skills/fuzz/agents/implementers/global-property-implementer.md +81 -0
- package/dist/skills/fuzz/agents/implementers/specific-property-implementer.md +121 -0
- package/dist/skills/fuzz/agents/invariant-discovery/adversarial-profit-maximizer.md +123 -0
- package/dist/skills/fuzz/agents/invariant-discovery/conservation-auditor.md +92 -0
- package/dist/skills/fuzz/agents/invariant-discovery/protocol-type-specialist.md +173 -0
- package/dist/skills/fuzz/agents/invariant-discovery/roundtrip-rounding-analyst.md +164 -0
- package/dist/skills/fuzz/agents/invariant-discovery/state-transition-mapper.md +92 -0
- package/dist/skills/fuzz/agents/invariant-discovery/synthesizer.md +261 -0
- package/dist/skills/fuzz/agents/protocol-analyzer.md +80 -0
- package/dist/skills/fuzz/agents/report-writer.md +135 -0
- package/dist/skills/fuzz/references/handler-patterns.md +222 -0
- package/dist/skills/fuzz/references/hex-invariants.md +102 -0
- package/dist/skills/fuzz/references/property-generation.md +149 -0
- package/dist/skills/fuzz/references/selection-policy.md +49 -0
- package/dist/skills/fuzz/references/setup-playbook.md +92 -0
- package/dist/skills/fuzz/references/template-map.md +121 -0
- package/dist/skills/fuzz/scripts/ensure_foundry.sh +125 -0
- package/dist/skills/fuzz/scripts/estimate_cost.js +157 -0
- package/dist/skills/fuzz/scripts/extract_abis.js +303 -0
- package/dist/skills/fuzz/scripts/fizz_sync.js +692 -0
- package/dist/skills/fuzz/scripts/generate_handlers.js +370 -0
- package/dist/skills/fuzz/scripts/generate_suite.js +254 -0
- package/dist/skills/fuzz/scripts/lib/log-viewer.js +332 -0
- package/dist/skills/fuzz/scripts/run_echidna.js +192 -0
- package/dist/skills/fuzz/scripts/run_medusa.js +329 -0
- package/dist/skills/fuzz/scripts/select_functions.js +637 -0
- package/dist/skills/fuzz/scripts/setup_fuzz_profile.sh +142 -0
- package/dist/skills/fuzz/templates/Actor.sol +63 -0
- package/dist/skills/fuzz/templates/Base.sol +121 -0
- package/dist/skills/fuzz/templates/FoundryTester.sol +29 -0
- package/dist/skills/fuzz/templates/FuzzTester.sol +11 -0
- package/dist/skills/fuzz/templates/Properties.sol +17 -0
- package/dist/skills/fuzz/templates/README.md +56 -0
- package/dist/skills/fuzz/templates/Snapshots.sol +26 -0
- package/dist/skills/fuzz/templates/echidna.yaml +18 -0
- package/dist/skills/fuzz/templates/handlers/Handlers.sol +13 -0
- package/dist/skills/fuzz/templates/medusa.json +93 -0
- package/dist/skills/fuzz/templates/utils/Clamp.sol +223 -0
- package/dist/skills/fuzz/templates/utils/DecimalPrinter.sol +63 -0
- package/dist/skills/fuzz/templates/utils/Deployer.sol +17 -0
- package/dist/skills/fuzz/templates/utils/EnumerableSet.sol +206 -0
- package/dist/skills/fuzz/templates/utils/Hevm.sol +62 -0
- package/dist/skills/fuzz/templates/utils/Logger.sol +619 -0
- package/dist/skills/fuzz/templates/utils/Math.sol +52 -0
- package/dist/skills/fuzz/templates/utils/MockERC20.sol +279 -0
- package/dist/skills/fuzz/templates/utils/PropertiesAsserts.sol +238 -0
- package/dist/skills/fuzz/templates/utils/StringUtils.sol +85 -0
- package/dist/skills/fuzz-convert/SKILL.md +249 -0
- package/dist/skills/fuzz-sync/SKILL.md +342 -0
- package/dist/skills/generate-poc.md +8 -26
- package/dist/skills/generate-report.md +24 -8
- package/dist/skills/ingest-aa-report.md +11 -30
- package/dist/skills/init-audit/SKILL.md +155 -0
- package/dist/skills/init-audit/references/agents/conformance-checker.md +36 -0
- package/dist/skills/init-audit/references/agents/contract-reader.md +59 -0
- package/dist/skills/init-audit/references/agents/diagram-composer.md +48 -0
- package/dist/skills/init-audit/references/agents/docs-extractor.md +26 -0
- package/dist/skills/init-audit/references/agents/prior-audit.md +32 -0
- package/dist/skills/init-audit/references/agents/regression-checker.md +28 -0
- package/dist/skills/init-audit/references/agents/skeptic.md +31 -0
- package/dist/skills/init-audit/references/agents/standards-checker.md +39 -0
- package/dist/skills/init-audit/references/agents/synthesizer.md +50 -0
- package/dist/skills/prevalidate.md +62 -0
- package/dist/skills/sync-issues.md +11 -25
- package/dist/skills/validate-all-findings.md +3 -3
- package/dist/skills/validate-finding.md +33 -28
- package/dist/skills/write-finding.md +6 -5
- package/dist/types/index.d.ts +22 -12
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +6 -4
- package/dashboard/.next/server/app/_not-found.html +0 -1
- package/dashboard/.next/server/app/_not-found.meta +0 -6
- package/dashboard/.next/server/app/_not-found.rsc +0 -12
- package/dashboard/.next/server/app/access/page.js +0 -1
- package/dashboard/.next/server/app/access/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/api/flows/route.js +0 -1
- package/dashboard/.next/server/app/api/mermaid/route.js +0 -1
- package/dashboard/.next/server/app/calls/page.js +0 -1
- package/dashboard/.next/server/app/calls/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/conformance/page.js +0 -1
- package/dashboard/.next/server/app/conformance/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/diagram/page.js +0 -1
- package/dashboard/.next/server/app/diagram/page.js.nft.json +0 -1
- package/dashboard/.next/server/app/diagram/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/diagram.html +0 -1
- package/dashboard/.next/server/app/diagram.meta +0 -5
- package/dashboard/.next/server/app/diagram.rsc +0 -10
- package/dashboard/.next/server/app/flows/page.js +0 -1
- package/dashboard/.next/server/app/flows/page.js.nft.json +0 -1
- package/dashboard/.next/server/app/flows/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/flows.html +0 -1
- package/dashboard/.next/server/app/flows.meta +0 -5
- package/dashboard/.next/server/app/flows.rsc +0 -10
- package/dashboard/.next/server/app/functions/page.js +0 -1
- package/dashboard/.next/server/app/functions/page.js.nft.json +0 -1
- package/dashboard/.next/server/app/functions/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/notes/page.js +0 -22
- package/dashboard/.next/server/app/notes/page.js.nft.json +0 -1
- package/dashboard/.next/server/app/notes/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/progress/page.js +0 -1
- package/dashboard/.next/server/app/progress/page.js.nft.json +0 -1
- package/dashboard/.next/server/app/progress/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/app/stats/page.js +0 -1
- package/dashboard/.next/server/app/stats/page.js.nft.json +0 -1
- package/dashboard/.next/server/app/stats/page_client-reference-manifest.js +0 -1
- package/dashboard/.next/server/chunks/44.js +0 -1
- package/dashboard/.next/server/chunks/530.js +0 -1
- package/dashboard/.next/server/chunks/622.js +0 -3
- package/dashboard/.next/server/chunks/665.js +0 -13
- package/dashboard/.next/server/pages/404.html +0 -1
- package/dashboard/.next/static/AyrRAwu4mazjp8iX4Yjbb/_buildManifest.js +0 -1
- package/dashboard/.next/static/chunks/1015.3ab89142e5f44120.js +0 -226
- package/dashboard/.next/static/chunks/1151.b6ef5c786e587ed7.js +0 -1
- package/dashboard/.next/static/chunks/1199.a072929dbec89965.js +0 -148
- package/dashboard/.next/static/chunks/1375.d4d2f7fc9c9c2ff1.js +0 -43
- package/dashboard/.next/static/chunks/1799.83206776abbbf1fc.js +0 -9
- package/dashboard/.next/static/chunks/20154aaa.ccc347c04ab5ad4a.js +0 -1
- package/dashboard/.next/static/chunks/2077.7011a570c87aa7b1.js +0 -1
- package/dashboard/.next/static/chunks/2166.cc0fabeb2e89b840.js +0 -215
- package/dashboard/.next/static/chunks/2325.2c55cb9a6282ae3f.js +0 -24
- package/dashboard/.next/static/chunks/2694.92bbe252063e4786.js +0 -1
- package/dashboard/.next/static/chunks/275.0d761aa0e5b030b8.js +0 -34
- package/dashboard/.next/static/chunks/2781.8536b644a480aede.js +0 -93
- package/dashboard/.next/static/chunks/2805.a8d71d2f92bb6ba9.js +0 -1
- package/dashboard/.next/static/chunks/3017.e55781da9dd32d37.js +0 -1
- package/dashboard/.next/static/chunks/3205-728c260fbb4f89c6.js +0 -2
- package/dashboard/.next/static/chunks/3236.dff44fa7961d9d5e.js +0 -1
- package/dashboard/.next/static/chunks/3480.9451396ad7ee7613.js +0 -1
- package/dashboard/.next/static/chunks/3626.ba1cf848a9f2e93d.js +0 -64
- package/dashboard/.next/static/chunks/3865.a432a7910a2f5281.js +0 -90
- package/dashboard/.next/static/chunks/3887.c22cbfa3f095826c.js +0 -1
- package/dashboard/.next/static/chunks/3924-4a05057b5450abe1.js +0 -1
- package/dashboard/.next/static/chunks/3948.fe3c7d758568d98b.js +0 -287
- package/dashboard/.next/static/chunks/4728.07d87640a3e7dd0d.js +0 -24
- package/dashboard/.next/static/chunks/4787.4e5f6a0e0e40a583.js +0 -23
- package/dashboard/.next/static/chunks/5060.baca226af35ed016.js +0 -1
- package/dashboard/.next/static/chunks/5284.f949ac90c95ff143.js +0 -1
- package/dashboard/.next/static/chunks/5715.1524bcc9591e180b.js +0 -115
- package/dashboard/.next/static/chunks/6014.700ae4969b64d728.js +0 -104
- package/dashboard/.next/static/chunks/6024.4d23707c65514679.js +0 -79
- package/dashboard/.next/static/chunks/6177.e5c84cfc4c0dea51.js +0 -1
- package/dashboard/.next/static/chunks/618f8807-547c5614e1318888.js +0 -1
- package/dashboard/.next/static/chunks/6434.9481771c33195d29.js +0 -1
- package/dashboard/.next/static/chunks/6468.f4a3e8fa6accc6da.js +0 -77
- package/dashboard/.next/static/chunks/6540.86f367d7390738d4.js +0 -1
- package/dashboard/.next/static/chunks/6549.4d0d472df96429a5.js +0 -1
- package/dashboard/.next/static/chunks/690f35d0.3e40ca0930e4bbdb.js +0 -119
- package/dashboard/.next/static/chunks/7397-f6f4dddc7a20bfc1.js +0 -1
- package/dashboard/.next/static/chunks/7498-ea83cb9e30ec5491.js +0 -1
- package/dashboard/.next/static/chunks/7802.89aec9ee11680850.js +0 -80
- package/dashboard/.next/static/chunks/7973.8b526f589aca5d84.js +0 -79
- package/dashboard/.next/static/chunks/8216.1bead812eb126c35.js +0 -5
- package/dashboard/.next/static/chunks/8452-e616b5f43bceb95f.js +0 -13
- package/dashboard/.next/static/chunks/8645.a5ca76f11edc9633.js +0 -1
- package/dashboard/.next/static/chunks/8928-60c623ee89d2e6ad.js +0 -1
- package/dashboard/.next/static/chunks/9173.2486ffca31131ec5.js +0 -1
- package/dashboard/.next/static/chunks/9178.469341860bf8caec.js +0 -1
- package/dashboard/.next/static/chunks/9466.e904660d38c03eea.js +0 -1
- package/dashboard/.next/static/chunks/9660.84a85811380c5f33.js +0 -1
- package/dashboard/.next/static/chunks/9720.67d4d0d15a96d691.js +0 -1
- package/dashboard/.next/static/chunks/9811.65e1d080c2d256af.js +0 -1
- package/dashboard/.next/static/chunks/app/_not-found/page-548ab392d0e890d1.js +0 -1
- package/dashboard/.next/static/chunks/app/access/page-3668562e7464eb5d.js +0 -1
- package/dashboard/.next/static/chunks/app/calls/page-d07f5b8664cc8303.js +0 -1
- package/dashboard/.next/static/chunks/app/conformance/page-2fede1d7b5f9265d.js +0 -1
- package/dashboard/.next/static/chunks/app/diagram/page-b228444265546495.js +0 -1
- package/dashboard/.next/static/chunks/app/flows/page-fa67783d8cd79cab.js +0 -1
- package/dashboard/.next/static/chunks/app/functions/page-686f0296639133a3.js +0 -1
- package/dashboard/.next/static/chunks/app/issues/page-98a298e1c1045c91.js +0 -1
- package/dashboard/.next/static/chunks/app/layout-49f2496c7637d931.js +0 -1
- package/dashboard/.next/static/chunks/app/notes/page-17af94c67ba79c00.js +0 -1
- package/dashboard/.next/static/chunks/app/page-24bac51dfe007c66.js +0 -1
- package/dashboard/.next/static/chunks/app/progress/page-427fb18da3afb061.js +0 -1
- package/dashboard/.next/static/chunks/app/report/page-796f2f4a8a5ac8f7.js +0 -1
- package/dashboard/.next/static/chunks/app/stats/page-db81f600a086f252.js +0 -1
- package/dashboard/.next/static/chunks/c7ea4e13.5effeeba6618bdb7.js +0 -1
- package/dashboard/.next/static/chunks/framework-cf6f5bdca6ba0184.js +0 -33
- package/dashboard/.next/static/chunks/main-63ff429eab01f5bf.js +0 -1
- package/dashboard/.next/static/chunks/main-app-9d2f6b8a47133e9b.js +0 -1
- package/dashboard/.next/static/chunks/pages/_app-6ad2b50514c24ab4.js +0 -1
- package/dashboard/.next/static/chunks/pages/_error-d5eb11c5c4626811.js +0 -1
- package/dashboard/.next/static/chunks/webpack-08869f2b18792e51.js +0 -1
- package/dashboard/.next/static/css/4a38d8f6f6b7a68f.css +0 -3
- package/dashboard/.next/static/media/438aa629764e75f3-s.woff2 +0 -0
- package/dashboard/.next/static/media/4c9affa5bc8f420e-s.p.woff2 +0 -0
- package/dashboard/.next/static/media/51251f8b9793cdb3-s.woff2 +0 -0
- package/dashboard/.next/static/media/875ae681bfde4580-s.woff2 +0 -0
- package/dashboard/.next/static/media/cc978ac5ee68c2b6-s.woff2 +0 -0
- package/dashboard/.next/static/media/e857b654a2caa584-s.woff2 +0 -0
- package/dashboard/app/access/AccessClient.tsx +0 -402
- package/dashboard/app/access/ReadOnlyFunctions.tsx +0 -114
- package/dashboard/app/access/page.tsx +0 -125
- package/dashboard/app/api/flows/route.ts +0 -32
- package/dashboard/app/api/mermaid/route.ts +0 -25
- package/dashboard/app/calls/CallsClient.tsx +0 -170
- package/dashboard/app/calls/page.tsx +0 -57
- package/dashboard/app/conformance/ConformanceTable.tsx +0 -214
- package/dashboard/app/conformance/page.tsx +0 -186
- package/dashboard/app/diagram/page.tsx +0 -65
- package/dashboard/app/flows/page.tsx +0 -102
- package/dashboard/app/functions/FunctionsClient.tsx +0 -167
- package/dashboard/app/functions/page.tsx +0 -178
- package/dashboard/app/issues/IssuesBoardClient.tsx +0 -803
- package/dashboard/app/notes/NotesClient.tsx +0 -701
- package/dashboard/app/notes/page.tsx +0 -47
- package/dashboard/app/progress/ProgressClient.tsx +0 -354
- package/dashboard/app/progress/page.tsx +0 -127
- package/dashboard/app/stats/StatsClient.tsx +0 -452
- package/dashboard/app/stats/page.tsx +0 -50
- package/dashboard/components/ConfidenceBadge.tsx +0 -53
- package/dashboard/components/DashboardLayout.tsx +0 -485
- package/dashboard/components/FilterableTable.tsx +0 -293
- package/dashboard/components/MermaidViewer.tsx +0 -267
- package/dashboard/components/NotYetGenerated.tsx +0 -32
- package/dashboard/components/SeverityBadge.tsx +0 -28
- package/dashboard/components/SignalBars.tsx +0 -27
- package/dashboard/components/SortableTable.tsx +0 -122
- package/dashboard/lib/conformance-tokens.ts +0 -49
- package/dist/skills/init-audit.md +0 -284
- /package/dashboard/.next/server/app/api/{flows → xref}/route.js.nft.json +0 -0
- /package/dashboard/.next/server/app/{api/mermaid → excalidraw-assets/[...path]}/route.js.nft.json +0 -0
- /package/dashboard/.next/static/{AyrRAwu4mazjp8iX4Yjbb → bGV1ry1vvIbM5b506eVBR}/_ssgManifest.js +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=153,e.ids=[153],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},
|
|
1
|
+
"use strict";(()=>{var e={};e.id=153,e.ids=[153],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7718:e=>{e.exports=require("node:child_process")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},6280:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>F,patchFetch:()=>$,requestAsyncStorage:()=>N,routeModule:()=>b,serverHooks:()=>q,staticGenerationAsyncStorage:()=>O});var n={};r.r(n),r.d(n,{POST:()=>k,dynamic:()=>E});var i=r(3277),o=r(5265),s=r(5356),a=r(7076),c=r(7561),u=r.n(c),l=r(9411),d=r.n(l),f=r(1720),p=r(5568),m=r(7718);let h=require("node:http");var y=r.n(h);let g=require("node:os");var S=r.n(g);class w extends Error{constructor(){super("No local Whisper engine found. Install one (audio stays on your machine):\n • pip install openai-whisper (provides the `whisper` command)\n • pip install faster-whisper (lighter, faster on CPU)\n • whisper.cpp + HEX_WHISPER_MODEL=/path/to/ggml-base.en.bin"),this.name="WhisperMissingError"}}let x=process.env.HEX_WHISPER_MODEL_NAME||"base.en";function _(e){try{return(0,m.execFileSync)("sh",["-c",`command -v ${e}`],{stdio:"ignore"}),!0}catch{return!1}}function v(e){!function(){if(!_("ffmpeg"))throw Error("ffmpeg is required to convert recordings for transcription, but was not found.")}();let t=d().join(S().tmpdir(),`hex-narration-${d().basename(e)}.wav`);return(0,m.execFileSync)("ffmpeg",["-y","-i",e,"-ar","16000","-ac","1","-f","wav",t],{stdio:"ignore"}),t}let j=`
|
|
2
2
|
import sys
|
|
3
3
|
from faster_whisper import WhisperModel
|
|
4
4
|
model = WhisperModel(sys.argv[2], device="cpu", compute_type="int8")
|
|
5
5
|
segments, _ = model.transcribe(sys.argv[1], language="en")
|
|
6
6
|
sys.stdout.write(" ".join(s.text.strip() for s in segments).strip())
|
|
7
|
-
`,E="force-dynamic";async function k(e){try{let t;let r=await e.formData(),n=r.get("audio"),i=String(r.get("contract")??"").trim()||"general";if(!(n instanceof Blob))return a.NextResponse.json({error:"audio file is required"},{status:400});let o=(0,f.ZN)(),s=new Date().toISOString().replace(/[:.]/g,"-"),c=d().join("audio",`${s}.webm`),l=d().join(o,"notes",c);u().mkdirSync(d().dirname(l),{recursive:!0}),u().writeFileSync(l,Buffer.from(await n.arrayBuffer()));try{let e=process.env.HEX_WHISPER_URL||null;t=e?await function(e,t){let r=
|
|
7
|
+
`,E="force-dynamic";async function k(e){try{let t;let r=await e.formData(),n=r.get("audio"),i=String(r.get("contract")??"").trim()||"general";if(!(n instanceof Blob))return a.NextResponse.json({error:"audio file is required"},{status:400});let o=(0,f.ZN)(),s=new Date().toISOString().replace(/[:.]/g,"-"),c=d().join("audio",`${s}.webm`),l=d().join(o,"notes",c);u().mkdirSync(d().dirname(l),{recursive:!0}),u().writeFileSync(l,Buffer.from(await n.arrayBuffer()));try{let e=process.env.HEX_WHISPER_URL||null;t=e?await function(e,t){let r=v(e),n=u().readFileSync(r),i=new URL("/transcribe",t);return new Promise((e,t)=>{let r=y().request({hostname:i.hostname,port:i.port,path:i.pathname,method:"POST",headers:{"Content-Type":"application/octet-stream","Content-Length":n.length}},r=>{let n=[];r.on("data",e=>n.push(e)),r.on("end",()=>{try{let r=JSON.parse(Buffer.concat(n).toString("utf-8"));r.error?t(Error(r.error)):e((r.text??"").trim())}catch(e){t(e instanceof Error?e:Error(String(e)))}})});r.on("error",t),r.write(n),r.end()}).finally(()=>{try{u().unlinkSync(r)}catch{}})}(l,e):function(e){let t=function(){if(_("whisper"))return{kind:"openai",bin:"whisper"};for(let e of["python3","python"])if(_(e)&&function(e){try{return(0,m.execFileSync)(e,["-c","import faster_whisper"],{stdio:"ignore"}),!0}catch{return!1}}(e))return{kind:"faster",bin:e};let e=process.env.HEX_WHISPER_MODEL;for(let t of["whisper-cli","whisper-cpp"])if(e&&_(t))return{kind:"cpp",bin:t,model:e};return null}();if(!t)throw new w;let r=v(e);try{if("openai"===t.kind){let e=u().mkdtempSync(d().join(S().tmpdir(),"hex-whisper-"));(0,m.execFileSync)(t.bin,[r,"--model",x,"--language","en","--output_format","txt","--output_dir",e,"--task","transcribe"],{stdio:"ignore"});let n=d().join(e,d().basename(r).replace(/\.wav$/,"")+".txt");return u().readFileSync(n,"utf-8").trim()}if("faster"===t.kind){let e=process.env.HEX_WHISPER_MODEL_NAME||"base";return(0,m.execFileSync)(t.bin,["-c",j,r,e],{encoding:"utf-8",maxBuffer:67108864}).trim()}let e=r.replace(/\.wav$/,"");return(0,m.execFileSync)(t.bin,["-m",t.model,"-f",r,"-otxt","-of",e,"-l","en"],{stdio:"ignore"}),u().readFileSync(e+".txt","utf-8").trim()}finally{try{u().unlinkSync(r)}catch{}}}(l)}catch(e){if(e instanceof w)return a.NextResponse.json({error:e.message,audioSaved:c,whisperMissing:!0},{status:422});throw e}let h=(0,p.ed)(o,{ts:s,contract:i,transcript:t,audio:c});return a.NextResponse.json({ok:!0,session:h.file,contract:i})}catch(e){return a.NextResponse.json({error:e instanceof Error?e.message:String(e)},{status:500})}}let b=new i.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/notes/record/route",pathname:"/api/notes/record",filename:"route",bundlePath:"app/api/notes/record/route"},resolvedPagePath:"/home/dx/Work/hex/dashboard/app/api/notes/record/route.ts",nextConfigOutput:"",userland:n}),{requestAsyncStorage:N,staticGenerationAsyncStorage:O,serverHooks:q}=b,F="/api/notes/record/route";function $(){return(0,s.patchFetch)({serverHooks:q,staticGenerationAsyncStorage:O})}},1720:(e,t,r)=>{r.d(t,{ZN:()=>f,J1:()=>p,gn:()=>l,ws:()=>d,V9:()=>m});var n=r(7561),i=r.n(n),o=r(9411),s=r.n(o);let a=[".hex",".solaudit","solaudit-output"];function c(e){return e.replace(/\\/g,"/")}function u(){try{let e=function(e=process.cwd()){let t=s().resolve(e);for(;;){let e=function(e){for(let t of[...a.map(t=>s().join(e,t,"config.json")),s().join(e,"config.json")])if(i().existsSync(t))return c(t);return null}(t);if(e)return c(s().dirname(e));let r=s().dirname(t);if(r===t)return null;t=r}}(process.cwd());if(e)return e}catch{}return s().join(process.cwd(),".hex")}function l(e){try{let t=s().join(u(),e),r=i().readFileSync(t,"utf-8");return JSON.parse(r)}catch{return null}}function d(e){try{let t=s().join(u(),e);return i().readFileSync(t,"utf-8")}catch{return null}}function f(){return u()}function p(e){try{let t=s().join(u(),e);if(!i().existsSync(t))return[];return i().readdirSync(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}function m(e){try{let t=s().join(u(),e),r=i().readFileSync(t,"utf-8");return JSON.parse(r)}catch{return null}}},5568:(e,t,r)=>{r.d(t,{BW:()=>h,Tl:()=>b,U6:()=>E,dh:()=>j,ed:()=>y,mQ:()=>k,pV:()=>x,sC:()=>f,wL:()=>v,yQ:()=>N});var n=r(7561),i=r.n(n),o=r(9411),s=r.n(o);let a={active_contract:null,contracts:[],sessions:[]};function c(e){return s().join(e,"notes")}function u(e){return e.replace(/[/\\:*?"<>|]/g,"_").trim()}function l(e){try{return i().readFileSync(e,"utf-8")}catch{return null}}function d(e,t){let r=s().dirname(e);i().existsSync(r)||i().mkdirSync(r,{recursive:!0});let n=e+".tmp";i().writeFileSync(n,t,"utf-8"),i().renameSync(n,e)}function f(e){let t=l(s().join(c(e),"notes.json"));if(!t)return{...a};try{let e=JSON.parse(t);return{active_contract:e.active_contract??null,contracts:Array.isArray(e.contracts)?e.contracts:[],sessions:Array.isArray(e.sessions)?e.sessions:[]}}catch{return{...a}}}function p(e,t){d(s().join(c(e),"notes.json"),JSON.stringify(t,null,2)+"\n")}function m(e,t){"general"===t||e.contracts.includes(t)||e.contracts.push(t)}function h(e,t,r){d("general"===t?s().join(c(e),"general.md"):s().join(c(e),"contracts",u(t)+".md"),r.endsWith("\n")?r:r+"\n");let n=f(e);m(n,t),p(e,n)}function y(e,t){let r=s().join("sessions",`${t.ts}.md`),n=`# Narration — ${t.contract} — ${t.ts}
|
|
8
8
|
|
|
9
|
-
`;return
|
|
9
|
+
`;return d(s().join(c(e),r),n+t.transcript.trim()+"\n"),function(e,t){let r=f(e),n={file:t.file,contract:t.contract,ts:t.ts,processed:!1,...t.audio?{audio:t.audio}:{}};return r.sessions.push(n),r.active_contract=t.contract,m(r,t.contract),p(e,r),n}(e,{file:r,contract:t.contract,ts:t.ts,audio:t.audio})}function g(e,t){return s().join(c(e),"contracts",u(t)+".json")}function S(e){return{contract:e,marked_done:!1,description:{purpose:[],inheritance:[],storage:[],roles:[],functions:[]},questions:[],leads:[],updated_at:new Date().toISOString()}}function w(e){return Array.isArray(e)?e:[]}function x(e,t){let r=l(g(e,t));if(!r)return S(t);try{let e=JSON.parse(r),n=e.description??{};return{contract:e.contract??t,file:e.file,marked_done:!!e.marked_done,description:{purpose:w(n.purpose),inheritance:w(n.inheritance),storage:w(n.storage),roles:w(n.roles),functions:w(n.functions).map(e=>{var t;return{id:e.id??((((t=e.sig??"").split("(")[0]??t).trim()||t).replace(/[^\w]+/g,"_")||"fn"),...e.fn_ref?{fn_ref:e.fn_ref}:{},sig:e.sig??"",purpose:e.purpose,access:e.access,effects:e.effects,notes:w(e.notes),warnings:w(e.warnings)}})},questions:w(e.questions),leads:w(e.leads),updated_at:e.updated_at??new Date().toISOString()}}catch{return S(t)}}function _(e,t,r){let n={...r,contract:t,updated_at:new Date().toISOString()};d(g(e,t),JSON.stringify(n,null,2)+"\n");let i=f(e);m(i,t),p(e,i)}function v(e,t,r){let n=x(e,t);return n.marked_done=r,_(e,t,n),n}function j(e,t){let r=t.replace(/\.sol$/i,""),n=f(e).contracts;return n.includes(t)?t:n.includes(r)?r:n.includes(`${r}.sol`)?`${r}.sol`:r}function E(e,t,r,n,i){let o=x(e,t),s=o.leads.find(e=>e.id===r);if(!s)throw Error(`No lead ${r} on ${t}`);return s.status=n,i&&(s.ref=i),_(e,t,o),o}function k(e,t,r){let n=x(e,t),i=n.leads.find(e=>e.id===r);if(!i)throw Error(`No lead ${r} on ${t}`);return i.status="open",delete i.ref,_(e,t,n),n}function b(e,t,r,n){let i=x(e,t),o=i.questions.find(e=>e.id===r);if(!o)throw Error(`No question ${r} on ${t}`);return o.answer=n,_(e,t,i),i}function N(e){let t=e.leads.filter(e=>"open"===e.status).length,r=e.questions.filter(e=>!e.answer||!e.answer.trim()).length;return{openLeads:t,unansweredQuestions:r,reviewed:e.marked_done&&0===t&&0===r}}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[916,786],()=>r(6280));module.exports=n})();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";(()=>{var t={};t.id=175,t.ids=[175],t.modules={399:t=>{t.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:t=>{t.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:t=>{t.exports=require("node:fs")},9411:t=>{t.exports=require("node:path")},3904:(t,e,n)=>{n.r(e),n.d(e,{originalPathname:()=>
|
|
1
|
+
"use strict";(()=>{var t={};t.id=175,t.ids=[175],t.modules={399:t=>{t.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:t=>{t.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:t=>{t.exports=require("node:fs")},9411:t=>{t.exports=require("node:path")},3904:(t,e,n)=>{n.r(e),n.d(e,{originalPathname:()=>g,patchFetch:()=>h,requestAsyncStorage:()=>p,routeModule:()=>f,serverHooks:()=>m,staticGenerationAsyncStorage:()=>y});var r={};n.r(r),n.d(r,{PUT:()=>d,dynamic:()=>l});var o=n(3277),s=n(5265),i=n(5356),a=n(7076),c=n(1720),u=n(5568);let l="force-dynamic";async function d(t){let{target:e,body:n}=await t.json();if("string"!=typeof e||"string"!=typeof n)return a.NextResponse.json({error:"target and body must be strings"},{status:400});try{return(0,u.BW)((0,c.ZN)(),e,n),a.NextResponse.json({ok:!0,target:e})}catch(t){return a.NextResponse.json({error:t instanceof Error?t.message:String(t)},{status:400})}}let f=new o.AppRouteRouteModule({definition:{kind:s.x.APP_ROUTE,page:"/api/notes/route",pathname:"/api/notes",filename:"route",bundlePath:"app/api/notes/route"},resolvedPagePath:"/home/dx/Work/hex/dashboard/app/api/notes/route.ts",nextConfigOutput:"",userland:r}),{requestAsyncStorage:p,staticGenerationAsyncStorage:y,serverHooks:m}=f,g="/api/notes/route";function h(){return(0,i.patchFetch)({serverHooks:m,staticGenerationAsyncStorage:y})}},1720:(t,e,n)=>{n.d(e,{ZN:()=>f,J1:()=>p,gn:()=>l,ws:()=>d,V9:()=>y});var r=n(7561),o=n.n(r),s=n(9411),i=n.n(s);let a=[".hex",".solaudit","solaudit-output"];function c(t){return t.replace(/\\/g,"/")}function u(){try{let t=function(t=process.cwd()){let e=i().resolve(t);for(;;){let t=function(t){for(let e of[...a.map(e=>i().join(t,e,"config.json")),i().join(t,"config.json")])if(o().existsSync(e))return c(e);return null}(e);if(t)return c(i().dirname(t));let n=i().dirname(e);if(n===e)return null;e=n}}(process.cwd());if(t)return t}catch{}return i().join(process.cwd(),".hex")}function l(t){try{let e=i().join(u(),t),n=o().readFileSync(e,"utf-8");return JSON.parse(n)}catch{return null}}function d(t){try{let e=i().join(u(),t);return o().readFileSync(e,"utf-8")}catch{return null}}function f(){return u()}function p(t){try{let e=i().join(u(),t);if(!o().existsSync(e))return[];return o().readdirSync(e,{withFileTypes:!0}).filter(t=>t.isDirectory()).map(t=>t.name)}catch{return[]}}function y(t){try{let e=i().join(u(),t),n=o().readFileSync(e,"utf-8");return JSON.parse(n)}catch{return null}}},5568:(t,e,n)=>{n.d(e,{BW:()=>m,Tl:()=>$,U6:()=>N,dh:()=>_,ed:()=>g,mQ:()=>q,pV:()=>w,sC:()=>f,wL:()=>v,yQ:()=>k});var r=n(7561),o=n.n(r),s=n(9411),i=n.n(s);let a={active_contract:null,contracts:[],sessions:[]};function c(t){return i().join(t,"notes")}function u(t){return t.replace(/[/\\:*?"<>|]/g,"_").trim()}function l(t){try{return o().readFileSync(t,"utf-8")}catch{return null}}function d(t,e){let n=i().dirname(t);o().existsSync(n)||o().mkdirSync(n,{recursive:!0});let r=t+".tmp";o().writeFileSync(r,e,"utf-8"),o().renameSync(r,t)}function f(t){let e=l(i().join(c(t),"notes.json"));if(!e)return{...a};try{let t=JSON.parse(e);return{active_contract:t.active_contract??null,contracts:Array.isArray(t.contracts)?t.contracts:[],sessions:Array.isArray(t.sessions)?t.sessions:[]}}catch{return{...a}}}function p(t,e){d(i().join(c(t),"notes.json"),JSON.stringify(e,null,2)+"\n")}function y(t,e){"general"===e||t.contracts.includes(e)||t.contracts.push(e)}function m(t,e,n){d("general"===e?i().join(c(t),"general.md"):i().join(c(t),"contracts",u(e)+".md"),n.endsWith("\n")?n:n+"\n");let r=f(t);y(r,e),p(t,r)}function g(t,e){let n=i().join("sessions",`${e.ts}.md`),r=`# Narration — ${e.contract} — ${e.ts}
|
|
2
2
|
|
|
3
|
-
`;return
|
|
3
|
+
`;return d(i().join(c(t),n),r+e.transcript.trim()+"\n"),function(t,e){let n=f(t),r={file:e.file,contract:e.contract,ts:e.ts,processed:!1,...e.audio?{audio:e.audio}:{}};return n.sessions.push(r),n.active_contract=e.contract,y(n,e.contract),p(t,n),r}(t,{file:n,contract:e.contract,ts:e.ts,audio:e.audio})}function h(t,e){return i().join(c(t),"contracts",u(e)+".json")}function j(t){return{contract:t,marked_done:!1,description:{purpose:[],inheritance:[],storage:[],roles:[],functions:[]},questions:[],leads:[],updated_at:new Date().toISOString()}}function S(t){return Array.isArray(t)?t:[]}function w(t,e){let n=l(h(t,e));if(!n)return j(e);try{let t=JSON.parse(n),r=t.description??{};return{contract:t.contract??e,file:t.file,marked_done:!!t.marked_done,description:{purpose:S(r.purpose),inheritance:S(r.inheritance),storage:S(r.storage),roles:S(r.roles),functions:S(r.functions).map(t=>{var e;return{id:t.id??((((e=t.sig??"").split("(")[0]??e).trim()||e).replace(/[^\w]+/g,"_")||"fn"),...t.fn_ref?{fn_ref:t.fn_ref}:{},sig:t.sig??"",purpose:t.purpose,access:t.access,effects:t.effects,notes:S(t.notes),warnings:S(t.warnings)}})},questions:S(t.questions),leads:S(t.leads),updated_at:t.updated_at??new Date().toISOString()}}catch{return j(e)}}function x(t,e,n){let r={...n,contract:e,updated_at:new Date().toISOString()};d(h(t,e),JSON.stringify(r,null,2)+"\n");let o=f(t);y(o,e),p(t,o)}function v(t,e,n){let r=w(t,e);return r.marked_done=n,x(t,e,r),r}function _(t,e){let n=e.replace(/\.sol$/i,""),r=f(t).contracts;return r.includes(e)?e:r.includes(n)?n:r.includes(`${n}.sol`)?`${n}.sol`:n}function N(t,e,n,r,o){let s=w(t,e),i=s.leads.find(t=>t.id===n);if(!i)throw Error(`No lead ${n} on ${e}`);return i.status=r,o&&(i.ref=o),x(t,e,s),s}function q(t,e,n){let r=w(t,e),o=r.leads.find(t=>t.id===n);if(!o)throw Error(`No lead ${n} on ${e}`);return o.status="open",delete o.ref,x(t,e,r),r}function $(t,e,n,r){let o=w(t,e),s=o.questions.find(t=>t.id===n);if(!s)throw Error(`No question ${n} on ${e}`);return s.answer=r,x(t,e,o),o}function k(t){let e=t.leads.filter(t=>"open"===t.status).length,n=t.questions.filter(t=>!t.answer||!t.answer.trim()).length;return{openLeads:e,unansweredQuestions:n,reviewed:t.marked_done&&0===e&&0===n}}}};var e=require("../../../webpack-runtime.js");e.C(t);var n=t=>e(e.s=t),r=e.X(0,[916,786],()=>n(3904));module.exports=r})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(()=>{var e={};e.id=427,e.ids=[427],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},4285:(e,t,n)=>{n.r(t),n.d(t,{originalPathname:()=>y,patchFetch:()=>v,requestAsyncStorage:()=>h,routeModule:()=>m,serverHooks:()=>_,staticGenerationAsyncStorage:()=>g});var i={};n.r(i),n.d(i,{GET:()=>p,dynamic:()=>f});var r=n(3277),o=n(5265),a=n(5356),s=n(7076),c=n(9222),u=n(5719),l=n(6905),d=n(8594);let f="force-dynamic";async function p(){let e=[],t=(0,l.Ge)();if(t){let n=new Set(t.contracts.filter(e=>"interface"===e.kind).map(e=>e.name));for(let n of t.contracts)n.in_scope&&"interface"!==n.kind&&e.push({kind:"contract",label:n.name,detail:n.file,href:`/review?contract=${encodeURIComponent(n.name)}`});for(let i of t.functions)!i.in_scope||n.has(i.contract)||i.nsloc<=0||e.push({kind:"function",label:`${i.contract}.${i.name}`,detail:i.signature,href:`/review?fn=${encodeURIComponent(i.id)}`})}for(let t of(0,c.b4)())e.push({kind:"card",label:t.title,detail:`${t.id} \xb7 ${t.severity}`,href:`/issues?card=${encodeURIComponent(t.id)}`});for(let t of(0,d.ri)((0,l.WV)()).invariants)e.push({kind:"invariant",label:t.statement,detail:t.id,href:`/model?s=invariants&id=${encodeURIComponent(t.id)}`});for(let t of(0,u.FK)())e.push({kind:"diagram",label:t.title,detail:"Diagram",href:`/model?d=${encodeURIComponent(t.name)}`});return s.NextResponse.json({entries:e})}let m=new r.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/palette/route",pathname:"/api/palette",filename:"route",bundlePath:"app/api/palette/route"},resolvedPagePath:"/home/dx/Work/hex/dashboard/app/api/palette/route.ts",nextConfigOutput:"",userland:i}),{requestAsyncStorage:h,staticGenerationAsyncStorage:g,serverHooks:_}=m,y="/api/palette/route";function v(){return(0,a.patchFetch)({serverHooks:_,staticGenerationAsyncStorage:g})}},9222:(e,t,n)=>{n.d(t,{b4:()=>s,lW:()=>c});var i=n(1720),r=n(3478),o=n(6905);function a(e,t){return"verified"!==e&&"synced"!==e?"none":t?.issue_number?t.sync_status&&"in_sync"!==t.sync_status?"conflict":"closed"===t.state?"synced_closed":"synced_open":"unsynced"}function s(){let e=(0,i.gn)("findings.json")??{findings:[]},t=(0,i.gn)("tracking.json")??{findings:[]},n=(0,i.gn)("comparison.json")??{},s=(0,i.gn)("spec-conformance.json")??{},c=(0,o.Ge)(),u=(0,o.G2)(),l=new Map(e.findings.map(e=>[e.id,e])),d=new Map((s.items??[]).map(e=>[e.id,e])),f=new Map;for(let e of["ai-results","external"])for(let t of(0,i.J1)(e)){let n=(0,i.V9)(`${e}/${t}/findings.json`);for(let e of n?.findings??[])f.set(e.id,e)}let p=new Map((n.duplicates??[]).map(e=>[e.ai_finding,e])),m=(e,t,n,i)=>{if(!c)return[];try{return(0,r.VK)(c,{id:e,title:t,description:n,root_cause:{locations:i}},u)}catch{return[]}},h=[],g=new Set;for(let e of t.findings){let t=l.get(e.id),n=f.get(e.id),i=d.get(e.id),r=t?.description??n?.description??i?.finding??"",o=t?.root_cause?.locations?.map(e=>({file:e.file,snippet:e.snippet}))??n?.affected_code?.map(e=>({file:e.file,snippet:e.snippet}))??(i?.code_location?.file?[{file:i.code_location.file}]:[]),s=p.get(e.id),c=e.title||t?.title||n?.title||i?.spec_text||e.id;g.add(e.id),h.push({id:e.id,title:c,severity:e.severity,source:e.source??"manual",status:e.status??"pending_validation",column:function(e){switch(e){case"verified":return"verified";case"synced":return"synced";case"rejected":return"invalid";case"duplicate":return"duplicate";default:return"potential"}}(e.status),description:r,recommendation:t?.recommendation??"",resolution:t?.resolution,update_from_client:t?.update_from_client,code_locations:o,github_issue_url:t?.github?.issue_url,github_issue_number:t?.github?.issue_number,github_state:t?.github?.state,sync_state:a(e.status,t?.github),duplicate_of:e.duplicate_of??s?.matches??null,match_signals:s?.match_signals?{contract:!!s.match_signals.contract,function:!!s.match_signals.function,root_cause:String(s.match_signals.root_cause??""),attack_vector:String(s.match_signals.attack_vector??"")}:void 0,reasoning:s?.reasoning,category:t?.category||n?.category,poc_status:e.poc_status??t?.poc?.status,poc_file:e.poc_file??t?.poc?.file??null,notes:e.notes??"",source_ref:e.source_ref??t?.source_ref??null,validation:e.validation??t?.validation,functions:m(e.id,c,r,o)})}for(let t of e.findings){if(g.has(t.id))continue;let e=t.root_cause?.locations??[];h.push({id:t.id,title:t.title,severity:t.severity,source:"manual",status:"verified",column:"verified",description:t.description??"",recommendation:t.recommendation??"",resolution:t.resolution,update_from_client:t.update_from_client,code_locations:e,github_issue_url:t.github?.issue_url,github_issue_number:t.github?.issue_number,github_state:t.github?.state,sync_state:a("verified",t.github),duplicate_of:null,category:t.category,poc_status:t.poc?.status,poc_file:t.poc?.file??null,notes:"",source_ref:t.source_ref??null,validation:t.validation,functions:m(t.id,t.title,t.description??"",e)})}return h}function c(e=s()){let t={};for(let n of e)t[n.id]={id:n.id,title:n.title,severity:n.severity,column:n.column};return t}},5719:(e,t,n)=>{n.d(t,{FK:()=>m,HE:()=>w,Ik:()=>C,Kl:()=>j,Vb:()=>O,ZD:()=>b,g1:()=>v,hd:()=>$,kb:()=>u,qu:()=>S,sv:()=>k,xt:()=>x});var i=n(7561),r=n.n(i),o=n(9411),a=n.n(o),s=n(6905);let c=/^[a-z0-9][a-z0-9-]*$/;function u(e){return c.test(e)}function l(){return a().join((0,s.WV)(),"model","diagrams")}function d(){return a().join((0,s.WV)(),"report","figures")}function f(e,t){r().mkdirSync(a().dirname(e),{recursive:!0});let n=e+".tmp";r().writeFileSync(n,JSON.stringify(t,null,2)+"\n","utf-8"),r().renameSync(n,e)}function p(e){try{return JSON.parse(r().readFileSync(e,"utf-8"))}catch{return null}}function m(){return p(a().join(l(),"index.json"))??[]}function h(e,t){let n=m(),i=n.find(t=>t.name===e);return i?(Object.assign(i,t),f(a().join(l(),"index.json"),n),i):null}let g=e=>a().join(l(),`${e}.excalidraw`),_=e=>a().join(l(),`${e}.regenerated.excalidraw`),y=e=>a().join(d(),`${e}.png`);function v(e){try{return Math.floor(r().statSync(g(e)).mtimeMs)}catch{return 0}}function S(e){try{return Math.floor(r().statSync(y(e)).mtimeMs)}catch{return 0}}function x(e){return p(g(e))}function b(e,t){let n=x(e),i=m().find(t=>t.name===e),r=t.appState??n?.appState??{},o={type:"excalidraw",version:2,source:n?.source??"hex",elements:t.elements,appState:{viewBackgroundColor:r.viewBackgroundColor??"#ffffff",gridSize:r.gridSize??null},files:t.files??n?.files??{},hex:{name:e,type:n?.hex?.type??i?.type??"custom",spec_hash:n?.hex?.spec_hash??i?.spec_hash??"",edited:!0}};return f(g(e),o),h(e,{edited:!0}),{mtime:v(e)}}function j(e){let t=p(_(e));if(!t)throw Error(`No regenerated layout for ${e}`);f(g(e),{...t,hex:{...t.hex??{name:e,type:"custom"},edited:!1}}),r().rmSync(_(e),{force:!0}),h(e,{edited:!1,stale:!1,...t.hex?.spec_hash?{spec_hash:t.hex.spec_hash}:{}})}function w(e){let t=p(_(e)),n=x(e),i=t?.hex?.spec_hash??n?.hex?.spec_hash??"";n&&f(g(e),{...n,hex:{...n.hex??{name:e,type:"custom"},spec_hash:i,edited:!0}}),r().rmSync(_(e),{force:!0}),h(e,{stale:!1,edited:!0,...i?{spec_hash:i}:{}})}function k(e,t){r().mkdirSync(d(),{recursive:!0});let n=y(e)+".tmp";r().writeFileSync(n,t),r().renameSync(n,y(e)),h(e,{in_report:!0})}function $(e){r().rmSync(y(e),{force:!0}),h(e,{in_report:!1})}function O(e){try{return r().readFileSync(y(e))}catch{return null}}function C(){try{return r().readdirSync(d()).filter(e=>e.endsWith(".png")).map(e=>e.replace(/\.png$/,"")).filter(u).sort()}catch{return[]}}},6905:(e,t,n)=>{n.d(t,{Aw:()=>g,G2:()=>f,Ge:()=>h,QR:()=>v,Rd:()=>S,TS:()=>y,WV:()=>d,cA:()=>m,eT:()=>_,zi:()=>p});var i=n(7561),r=n.n(i),o=n(9411),a=n.n(o),s=n(1720),c=n(1310),u=n(6700),l=n(5568);function d(){return(0,s.ZN)()}function f(){return a().dirname(d())}function p(){return(0,s.gn)("config.json")}function m(){return p()?.project?.mode==="diff"}function h(){return(0,u.Je)(d())}function g(e=10){return(0,c.hC)(d(),{blindSpots:e})}function _(e){let t=d(),n=(0,l.dh)(t,e),i=(0,l.pV)(t,n);return{target:n,contract:e,marked_done:i.marked_done,purpose:i.description.purpose,functions:i.description.functions.map(e=>({id:e.id,sig:e.sig,fn_ref:e.fn_ref,purpose:e.purpose,access:e.access,effects:e.effects,notes:e.notes,warnings:e.warnings})),questions:i.questions,leads:i.leads}}function y(){return(0,l.sC)(d()).sessions.filter(e=>!e.processed).length}function v(){try{return r().readFileSync(a().join(d(),"notes","general.md"),"utf-8")}catch{return""}}function S(){let e=a().join(d(),"fix-review"),t=null;try{for(let n of r().readdirSync(e))if(n.endsWith(".json"))try{let i=JSON.parse(r().readFileSync(a().join(e,n),"utf-8"));(!t||Date.parse(i.generated_at)>Date.parse(t.generated_at))&&(t=i)}catch{}}catch{return null}return t}},8594:(e,t,n)=>{n.d(t,{bv:()=>f,ri:()=>d,wl:()=>u});var i=n(7561),r=n.n(i),o=n(9411),a=n.n(o);function s(e){return a().join(e,"model")}function c(e){try{return JSON.parse(r().readFileSync(e,"utf-8"))}catch{return null}}function u(e){return c(a().join(s(e),"protocol.json"))}let l=e=>a().join(s(e),"invariants.json");function d(e){return c(l(e))??{updated_at:new Date(0).toISOString(),invariants:[]}}function f(e,t,n,i){return function(e,t,n){let i=d(e),o=i.invariants.find(e=>e.id===t);if(!o)throw Error(`No invariant ${t} in .hex/model/invariants.json`);return n(o),function(e,t){r().mkdirSync(a().dirname(e),{recursive:!0});let n=e+".tmp";r().writeFileSync(n,JSON.stringify(t,null,2)+"\n","utf-8"),r().renameSync(n,e)}(l(e),{...i,updated_at:new Date().toISOString()}),o}(e,t,e=>{e.status=n,i&&(e.rationale=i)})}},6700:(e,t,n)=>{n.d(t,{DO:()=>l,Je:()=>s,V7:()=>u,fY:()=>d});var i=n(7561),r=n.n(i),o=n(9411),a=n.n(o);function s(e){try{return JSON.parse(r().readFileSync(a().join(e,"facts.json"),"utf-8"))}catch{return null}}function c(e,t){return e.state_vars.some(e=>e.id===t)?[t]:e.state_vars.filter(e=>e.name===t).map(e=>e.id)}function u(e,t){let n=new Set(c(e,t));return e.functions.filter(e=>e.reads.some(e=>n.has(e))).map(e=>e.id)}function l(e,t){let n=new Set(c(e,t));return e.functions.filter(e=>e.writes.some(e=>n.has(e))).map(e=>e.id)}function d(e,t){let n=new Map(e.functions.map(e=>[e.id,e])),i=[];for(let r of function(e,t){let n=e.functions.filter(e=>e.id===t);if(n.length)return n;let i=t.indexOf("."),r=t.indexOf("(");if(i>0&&(-1===r||i<r)){let n=t.slice(0,i),r=t.slice(i+1),o=r.includes("(")?null:r;return e.functions.filter(e=>e.contract===n&&(o?e.name===o:e.signature===r))}let o=r>0?t.slice(0,r):t;return e.functions.filter(e=>e.name===o||e.signature===t)}(e,t))for(let e of r.called_by){let t=n.get(e.from)?.file??"";for(let n of e.at?.length?e.at:[void 0])i.push({from:e.from,kind:e.kind,file:t,...n?{line:n}:{}})}return i.sort((e,t)=>e.file.localeCompare(t.file)||(e.line??0)-(t.line??0)||e.from.localeCompare(t.from))}}};var t=require("../../../webpack-runtime.js");t.C(e);var n=e=>t(t.s=e),i=t.X(0,[916,786,42,310],()=>n(4285));module.exports=i})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../package.json","../../../chunks/310.js","../../../chunks/42.js","../../../chunks/786.js","../../../chunks/916.js","../../../webpack-runtime.js"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=873,e.ids=[873],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},4628:(e,t,
|
|
1
|
+
"use strict";(()=>{var e={};e.id=873,e.ids=[873],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},4628:(e,t,n)=>{n.r(t),n.d(t,{originalPathname:()=>y,patchFetch:()=>v,requestAsyncStorage:()=>m,routeModule:()=>p,serverHooks:()=>h,staticGenerationAsyncStorage:()=>g});var r={};n.r(r),n.d(r,{GET:()=>f,POST:()=>l,dynamic:()=>d});var o=n(3277),s=n(5265),i=n(5356),a=n(7076),u=n(6905),c=n(1310);let d="force-dynamic";async function f(){return a.NextResponse.json((0,c.hC)((0,u.WV)(),{blindSpots:10}))}async function l(e){let t=await e.json().catch(()=>({})),n=(0,u.WV)();if(Array.isArray(t.ids)){let e=t.ids.filter(e=>"string"==typeof e);if(!e.length||"string"!=typeof t.state||!c.cE.includes(t.state))return a.NextResponse.json({error:"ids must be non-empty and state one of unread|read|questioned|cleared"},{status:400});let r="string"==typeof t.note&&t.note.trim()?t.note.trim():void 0;(0,c.Ht)(n,e,t.state,"dashboard",r);let o=(0,c.hC)(n);return a.NextResponse.json({ok:!0,pct:o.pct,counts:o.counts,cleared_nsloc:o.cleared_nsloc,total_nsloc:o.total_nsloc})}if(t.reviewed_contracts&&"object"==typeof t.reviewed_contracts){let e=(0,c.Pp)(n);for(let[n,r]of Object.entries(t.reviewed_contracts))e.reviewed_contracts[n]=!!r;return(0,c.LV)(n,e),a.NextResponse.json({ok:!0})}return a.NextResponse.json({error:"Invalid payload"},{status:400})}let p=new o.AppRouteRouteModule({definition:{kind:s.x.APP_ROUTE,page:"/api/progress/route",pathname:"/api/progress",filename:"route",bundlePath:"app/api/progress/route"},resolvedPagePath:"/home/dx/Work/hex/dashboard/app/api/progress/route.ts",nextConfigOutput:"",userland:r}),{requestAsyncStorage:m,staticGenerationAsyncStorage:g,serverHooks:h}=p,y="/api/progress/route";function v(){return(0,i.patchFetch)({serverHooks:h,staticGenerationAsyncStorage:g})}},6905:(e,t,n)=>{n.d(t,{Aw:()=>h,G2:()=>l,Ge:()=>g,QR:()=>x,Rd:()=>j,TS:()=>v,WV:()=>f,cA:()=>m,eT:()=>y,zi:()=>p});var r=n(7561),o=n.n(r),s=n(9411),i=n.n(s),a=n(1720),u=n(1310),c=n(6700),d=n(5568);function f(){return(0,a.ZN)()}function l(){return i().dirname(f())}function p(){return(0,a.gn)("config.json")}function m(){return p()?.project?.mode==="diff"}function g(){return(0,c.Je)(f())}function h(e=10){return(0,u.hC)(f(),{blindSpots:e})}function y(e){let t=f(),n=(0,d.dh)(t,e),r=(0,d.pV)(t,n);return{target:n,contract:e,marked_done:r.marked_done,purpose:r.description.purpose,functions:r.description.functions.map(e=>({id:e.id,sig:e.sig,fn_ref:e.fn_ref,purpose:e.purpose,access:e.access,effects:e.effects,notes:e.notes,warnings:e.warnings})),questions:r.questions,leads:r.leads}}function v(){return(0,d.sC)(f()).sessions.filter(e=>!e.processed).length}function x(){try{return o().readFileSync(i().join(f(),"notes","general.md"),"utf-8")}catch{return""}}function j(){let e=i().join(f(),"fix-review"),t=null;try{for(let n of o().readdirSync(e))if(n.endsWith(".json"))try{let r=JSON.parse(o().readFileSync(i().join(e,n),"utf-8"));(!t||Date.parse(r.generated_at)>Date.parse(t.generated_at))&&(t=r)}catch{}}catch{return null}return t}},6700:(e,t,n)=>{n.d(t,{DO:()=>d,Je:()=>a,V7:()=>c,fY:()=>f});var r=n(7561),o=n.n(r),s=n(9411),i=n.n(s);function a(e){try{return JSON.parse(o().readFileSync(i().join(e,"facts.json"),"utf-8"))}catch{return null}}function u(e,t){return e.state_vars.some(e=>e.id===t)?[t]:e.state_vars.filter(e=>e.name===t).map(e=>e.id)}function c(e,t){let n=new Set(u(e,t));return e.functions.filter(e=>e.reads.some(e=>n.has(e))).map(e=>e.id)}function d(e,t){let n=new Set(u(e,t));return e.functions.filter(e=>e.writes.some(e=>n.has(e))).map(e=>e.id)}function f(e,t){let n=new Map(e.functions.map(e=>[e.id,e])),r=[];for(let o of function(e,t){let n=e.functions.filter(e=>e.id===t);if(n.length)return n;let r=t.indexOf("."),o=t.indexOf("(");if(r>0&&(-1===o||r<o)){let n=t.slice(0,r),o=t.slice(r+1),s=o.includes("(")?null:o;return e.functions.filter(e=>e.contract===n&&(s?e.name===s:e.signature===o))}let s=o>0?t.slice(0,o):t;return e.functions.filter(e=>e.name===s||e.signature===t)}(e,t))for(let e of o.called_by){let t=n.get(e.from)?.file??"";for(let n of e.at?.length?e.at:[void 0])r.push({from:e.from,kind:e.kind,file:t,...n?{line:n}:{}})}return r.sort((e,t)=>e.file.localeCompare(t.file)||(e.line??0)-(t.line??0)||e.from.localeCompare(t.from))}}};var t=require("../../../webpack-runtime.js");t.C(e);var n=e=>t(t.s=e),r=t.X(0,[916,786,42,310],()=>n(4628));module.exports=r})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../package.json","../../../chunks/786.js","../../../chunks/916.js","../../../webpack-runtime.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../package.json","../../../chunks/310.js","../../../chunks/42.js","../../../chunks/786.js","../../../chunks/916.js","../../../webpack-runtime.js"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=799,e.ids=[799],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},9237:(e,t,n)=>{n.r(t),n.d(t,{originalPathname:()=>
|
|
1
|
+
"use strict";(()=>{var e={};e.id=799,e.ids=[799],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},9237:(e,t,n)=>{n.r(t),n.d(t,{originalPathname:()=>w,patchFetch:()=>j,requestAsyncStorage:()=>y,routeModule:()=>x,serverHooks:()=>g,staticGenerationAsyncStorage:()=>v});var r={};n.r(r),n.d(r,{GET:()=>m,dynamic:()=>f});var o=n(3277),a=n(5265),i=n(5356);let u=require("chokidar");var c=n.n(u),s=n(9411),l=n.n(s);let d=null,p=new Set;var h=n(1720);let f="force-dynamic";async function m(){let e,t;!function(e){if(d)return;d=c().watch([l().join(e,"**/*.{json,md,mmd,txt,tex,excalidraw}"),l().join(e,"ai-audit/**/*.tsv"),l().join(e,"report/figures/*.png")],{ignoreInitial:!0,ignored:e=>/[\\/]\.cache([\\/]|$)|[\\/]node_modules([\\/]|$)|[\\/]notes[\\/]audio([\\/]|$)/.test(e),awaitWriteFinish:{stabilityThreshold:250,pollInterval:100}});let t=t=>{let n=l().relative(e,t).replace(/\\/g,"/");if(!("focus.json"===n||n.endsWith(".tmp")||n.startsWith(".cache/")||n.startsWith("notes/audio/")||n.split("/").some(e=>"node_modules"===e)))for(let e of p)e(n)};d.on("change",t),d.on("add",t),d.on("unlink",t)}((0,h.ZN)());let n=new TextEncoder;return new Response(new ReadableStream({start(r){var o;r.enqueue(n.encode(": connected\n\n")),o=e=>{try{r.enqueue(n.encode(`data: ${JSON.stringify({file:e})}
|
|
2
2
|
|
|
3
|
-
`))}catch{}},p.add(
|
|
3
|
+
`))}catch{}},p.add(o),e=()=>p.delete(o),t=setInterval(()=>{try{r.enqueue(n.encode(": ping\n\n"))}catch{}},3e4)},cancel(){t&&clearInterval(t),e&&e()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}let x=new o.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/watch/route",pathname:"/api/watch",filename:"route",bundlePath:"app/api/watch/route"},resolvedPagePath:"/home/dx/Work/hex/dashboard/app/api/watch/route.ts",nextConfigOutput:"",userland:r}),{requestAsyncStorage:y,staticGenerationAsyncStorage:v,serverHooks:g}=x,w="/api/watch/route";function j(){return(0,i.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:v})}},1720:(e,t,n)=>{n.d(t,{ZN:()=>p,J1:()=>h,gn:()=>l,ws:()=>d,V9:()=>f});var r=n(7561),o=n.n(r),a=n(9411),i=n.n(a);let u=[".hex",".solaudit","solaudit-output"];function c(e){return e.replace(/\\/g,"/")}function s(){try{let e=function(e=process.cwd()){let t=i().resolve(e);for(;;){let e=function(e){for(let t of[...u.map(t=>i().join(e,t,"config.json")),i().join(e,"config.json")])if(o().existsSync(t))return c(t);return null}(t);if(e)return c(i().dirname(e));let n=i().dirname(t);if(n===t)return null;t=n}}(process.cwd());if(e)return e}catch{}return i().join(process.cwd(),".hex")}function l(e){try{let t=i().join(s(),e),n=o().readFileSync(t,"utf-8");return JSON.parse(n)}catch{return null}}function d(e){try{let t=i().join(s(),e);return o().readFileSync(t,"utf-8")}catch{return null}}function p(){return s()}function h(e){try{let t=i().join(s(),e);if(!o().existsSync(t))return[];return o().readdirSync(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}function f(e){try{let t=i().join(s(),e),n=o().readFileSync(t,"utf-8");return JSON.parse(n)}catch{return null}}},3277:(e,t,n)=>{e.exports=n(517)}};var t=require("../../../webpack-runtime.js");t.C(e);var n=e=>t(t.s=e),r=t.X(0,[916],()=>n(9237));module.exports=r})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../node_modules/anymatch/index.js","../../../../../../node_modules/anymatch/package.json","../../../../../../node_modules/binary-extensions/binary-extensions.json","../../../../../../node_modules/binary-extensions/index.js","../../../../../../node_modules/binary-extensions/package.json","../../../../../../node_modules/braces/index.js","../../../../../../node_modules/braces/lib/compile.js","../../../../../../node_modules/braces/lib/constants.js","../../../../../../node_modules/braces/lib/expand.js","../../../../../../node_modules/braces/lib/parse.js","../../../../../../node_modules/braces/lib/stringify.js","../../../../../../node_modules/braces/lib/utils.js","../../../../../../node_modules/braces/package.json","../../../../../../node_modules/chokidar/index.js","../../../../../../node_modules/chokidar/lib/constants.js","../../../../../../node_modules/chokidar/lib/fsevents-handler.js","../../../../../../node_modules/chokidar/lib/nodefs-handler.js","../../../../../../node_modules/chokidar/package.json","../../../../../../node_modules/fill-range/index.js","../../../../../../node_modules/fill-range/package.json","../../../../../../node_modules/glob-parent/index.js","../../../../../../node_modules/glob-parent/package.json","../../../../../../node_modules/is-binary-path/index.js","../../../../../../node_modules/is-binary-path/package.json","../../../../../../node_modules/is-extglob/index.js","../../../../../../node_modules/is-extglob/package.json","../../../../../../node_modules/is-glob/index.js","../../../../../../node_modules/is-glob/package.json","../../../../../../node_modules/is-number/index.js","../../../../../../node_modules/is-number/package.json","../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/normalize-path/index.js","../../../../../../node_modules/normalize-path/package.json","../../../../../../node_modules/picomatch/index.js","../../../../../../node_modules/picomatch/lib/constants.js","../../../../../../node_modules/picomatch/lib/parse.js","../../../../../../node_modules/picomatch/lib/picomatch.js","../../../../../../node_modules/picomatch/lib/scan.js","../../../../../../node_modules/picomatch/lib/utils.js","../../../../../../node_modules/picomatch/package.json","../../../../../../node_modules/readdirp/index.js","../../../../../../node_modules/readdirp/package.json","../../../../../../node_modules/to-regex-range/index.js","../../../../../../node_modules/to-regex-range/package.json","../../../../../../package.json","../../../../package.json","../../../chunks/916.js","../../../webpack-runtime.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../CLAUDE.md","../../../../../../DEMO.md","../../../../../../dist/skills/ai-audit/SKILL.md","../../../../../../dist/skills/ai-audit/UPSTREAM.md","../../../../../../dist/skills/ai-audit/references/agent-prompts.md","../../../../../../dist/skills/ai-audit/references/dedup-and-assembly.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/access-control-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/asymmetry-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/boundary-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/economic-security-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/execution-trace-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/first-principles-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/flow-gap-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/invariant-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/math-precision-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/numerical-gap-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/periphery-agent.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/shared-rules.md","../../../../../../dist/skills/ai-audit/references/hacking-agents/trust-gap-agent.md","../../../../../../dist/skills/ai-audit/references/hex-board.md","../../../../../../dist/skills/ai-audit/references/judging.md","../../../../../../dist/skills/ai-audit/references/report-formatting.md","../../../../../../dist/skills/ai-audit/references/report-language.md","../../../../../../dist/skills/ai-audit/references/senior-auditor-sop.md","../../../../../../dist/skills/diane.md","../../../../../../dist/skills/fix-review.md","../../../../../../dist/skills/fuzz-convert/SKILL.md","../../../../../../dist/skills/fuzz-sync/SKILL.md","../../../../../../dist/skills/fuzz/SKILL.md","../../../../../../dist/skills/fuzz/UPSTREAM.md","../../../../../../dist/skills/fuzz/agents/implementers/global-property-implementer.md","../../../../../../dist/skills/fuzz/agents/implementers/specific-property-implementer.md","../../../../../../dist/skills/fuzz/agents/invariant-discovery/adversarial-profit-maximizer.md","../../../../../../dist/skills/fuzz/agents/invariant-discovery/conservation-auditor.md","../../../../../../dist/skills/fuzz/agents/invariant-discovery/protocol-type-specialist.md","../../../../../../dist/skills/fuzz/agents/invariant-discovery/roundtrip-rounding-analyst.md","../../../../../../dist/skills/fuzz/agents/invariant-discovery/state-transition-mapper.md","../../../../../../dist/skills/fuzz/agents/invariant-discovery/synthesizer.md","../../../../../../dist/skills/fuzz/agents/protocol-analyzer.md","../../../../../../dist/skills/fuzz/agents/report-writer.md","../../../../../../dist/skills/fuzz/references/handler-patterns.md","../../../../../../dist/skills/fuzz/references/hex-invariants.md","../../../../../../dist/skills/fuzz/references/property-generation.md","../../../../../../dist/skills/fuzz/references/selection-policy.md","../../../../../../dist/skills/fuzz/references/setup-playbook.md","../../../../../../dist/skills/fuzz/references/template-map.md","../../../../../../dist/skills/fuzz/templates/medusa.json","../../../../../../dist/skills/generate-poc.md","../../../../../../dist/skills/generate-report.md","../../../../../../dist/skills/ingest-aa-report.md","../../../../../../dist/skills/init-audit/SKILL.md","../../../../../../dist/skills/init-audit/references/agents/conformance-checker.md","../../../../../../dist/skills/init-audit/references/agents/contract-reader.md","../../../../../../dist/skills/init-audit/references/agents/diagram-composer.md","../../../../../../dist/skills/init-audit/references/agents/docs-extractor.md","../../../../../../dist/skills/init-audit/references/agents/prior-audit.md","../../../../../../dist/skills/init-audit/references/agents/regression-checker.md","../../../../../../dist/skills/init-audit/references/agents/skeptic.md","../../../../../../dist/skills/init-audit/references/agents/standards-checker.md","../../../../../../dist/skills/init-audit/references/agents/synthesizer.md","../../../../../../dist/skills/prevalidate.md","../../../../../../dist/skills/sync-issues.md","../../../../../../dist/skills/validate-all-findings.md","../../../../../../dist/skills/validate-finding.md","../../../../../../dist/skills/write-finding.md","../../../../../../mock_project/.claude/skills/.hex-skills.json","../../../../../../mock_project/.claude/skills/ai-audit/SKILL.md","../../../../../../mock_project/.claude/skills/ai-audit/UPSTREAM.md","../../../../../../mock_project/.claude/skills/ai-audit/references/agent-prompts.md","../../../../../../mock_project/.claude/skills/ai-audit/references/dedup-and-assembly.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/access-control-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/asymmetry-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/boundary-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/economic-security-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/execution-trace-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/first-principles-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/flow-gap-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/invariant-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/math-precision-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/numerical-gap-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/periphery-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/shared-rules.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hacking-agents/trust-gap-agent.md","../../../../../../mock_project/.claude/skills/ai-audit/references/hex-board.md","../../../../../../mock_project/.claude/skills/ai-audit/references/judging.md","../../../../../../mock_project/.claude/skills/ai-audit/references/report-formatting.md","../../../../../../mock_project/.claude/skills/ai-audit/references/report-language.md","../../../../../../mock_project/.claude/skills/ai-audit/references/senior-auditor-sop.md","../../../../../../mock_project/.claude/skills/diane/SKILL.md","../../../../../../mock_project/.claude/skills/fix-review/SKILL.md","../../../../../../mock_project/.claude/skills/fuzz-convert/SKILL.md","../../../../../../mock_project/.claude/skills/fuzz-sync/SKILL.md","../../../../../../mock_project/.claude/skills/fuzz/SKILL.md","../../../../../../mock_project/.claude/skills/fuzz/UPSTREAM.md","../../../../../../mock_project/.claude/skills/fuzz/agents/implementers/global-property-implementer.md","../../../../../../mock_project/.claude/skills/fuzz/agents/implementers/specific-property-implementer.md","../../../../../../mock_project/.claude/skills/fuzz/agents/invariant-discovery/adversarial-profit-maximizer.md","../../../../../../mock_project/.claude/skills/fuzz/agents/invariant-discovery/conservation-auditor.md","../../../../../../mock_project/.claude/skills/fuzz/agents/invariant-discovery/protocol-type-specialist.md","../../../../../../mock_project/.claude/skills/fuzz/agents/invariant-discovery/roundtrip-rounding-analyst.md","../../../../../../mock_project/.claude/skills/fuzz/agents/invariant-discovery/state-transition-mapper.md","../../../../../../mock_project/.claude/skills/fuzz/agents/invariant-discovery/synthesizer.md","../../../../../../mock_project/.claude/skills/fuzz/agents/protocol-analyzer.md","../../../../../../mock_project/.claude/skills/fuzz/agents/report-writer.md","../../../../../../mock_project/.claude/skills/fuzz/references/handler-patterns.md","../../../../../../mock_project/.claude/skills/fuzz/references/hex-invariants.md","../../../../../../mock_project/.claude/skills/fuzz/references/property-generation.md","../../../../../../mock_project/.claude/skills/fuzz/references/selection-policy.md","../../../../../../mock_project/.claude/skills/fuzz/references/setup-playbook.md","../../../../../../mock_project/.claude/skills/fuzz/references/template-map.md","../../../../../../mock_project/.claude/skills/fuzz/templates/medusa.json","../../../../../../mock_project/.claude/skills/generate-poc/SKILL.md","../../../../../../mock_project/.claude/skills/generate-report/SKILL.md","../../../../../../mock_project/.claude/skills/ingest-aa-report/SKILL.md","../../../../../../mock_project/.claude/skills/init-audit/SKILL.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/conformance-checker.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/contract-reader.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/diagram-composer.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/docs-extractor.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/prior-audit.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/regression-checker.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/skeptic.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/standards-checker.md","../../../../../../mock_project/.claude/skills/init-audit/references/agents/synthesizer.md","../../../../../../mock_project/.claude/skills/prevalidate/SKILL.md","../../../../../../mock_project/.claude/skills/sync-issues/SKILL.md","../../../../../../mock_project/.claude/skills/validate-all-findings/SKILL.md","../../../../../../mock_project/.claude/skills/validate-finding/SKILL.md","../../../../../../mock_project/.claude/skills/write-finding/SKILL.md","../../../../../../mock_project/.hex/.cache/build-info/54af09872e212975.json","../../../../../../mock_project/.hex/.cache/forge-cache/solidity-files-cache.json","../../../../../../mock_project/.hex/.cache/forge-out/MockToken.sol/MockToken.json","../../../../../../mock_project/.hex/.cache/forge-out/Vault.sol/IToken.json","../../../../../../mock_project/.hex/.cache/forge-out/Vault.sol/Vault.json","../../../../../../mock_project/.hex/.cache/slither-function-summary.json","../../../../../../mock_project/.hex/.cache/wt-base/build-info/2a0f7fb5202fe071.json","../../../../../../mock_project/.hex/.cache/wt-base/forge-cache/solidity-files-cache.json","../../../../../../mock_project/.hex/.cache/wt-base/forge-out/MockToken.sol/MockToken.json","../../../../../../mock_project/.hex/.cache/wt-base/forge-out/Vault.sol/IToken.json","../../../../../../mock_project/.hex/.cache/wt-base/forge-out/Vault.sol/Vault.json","../../../../../../mock_project/.hex/.cache/wt-head/build-info/72613e9284c86811.json","../../../../../../mock_project/.hex/.cache/wt-head/forge-cache/solidity-files-cache.json","../../../../../../mock_project/.hex/.cache/wt-head/forge-out/MockToken.sol/MockToken.json","../../../../../../mock_project/.hex/.cache/wt-head/forge-out/Vault.sol/IToken.json","../../../../../../mock_project/.hex/.cache/wt-head/forge-out/Vault.sol/Vault.json","../../../../../../mock_project/.hex/comparison.json","../../../../../../mock_project/.hex/config.json","../../../../../../mock_project/.hex/facts.json","../../../../../../mock_project/.hex/findings.json","../../../../../../mock_project/.hex/fix-review/eccd37f2222b.json","../../../../../../mock_project/.hex/focus.json","../../../../../../mock_project/.hex/model/diagrams/accounting-share-price.excalidraw","../../../../../../mock_project/.hex/model/diagrams/accounting-share-price.spec.json","../../../../../../mock_project/.hex/model/diagrams/accounting-solvency.excalidraw","../../../../../../mock_project/.hex/model/diagrams/accounting-solvency.spec.json","../../../../../../mock_project/.hex/model/diagrams/custody.excalidraw","../../../../../../mock_project/.hex/model/diagrams/custody.spec.json","../../../../../../mock_project/.hex/model/diagrams/index.json","../../../../../../mock_project/.hex/model/diagrams/privilege.excalidraw","../../../../../../mock_project/.hex/model/diagrams/privilege.spec.json","../../../../../../mock_project/.hex/model/diagrams/sequence-false-return.excalidraw","../../../../../../mock_project/.hex/model/diagrams/sequence-false-return.spec.json","../../../../../../mock_project/.hex/model/diagrams/sequence-first-depositor.excalidraw","../../../../../../mock_project/.hex/model/diagrams/sequence-first-depositor.spec.json","../../../../../../mock_project/.hex/model/diagrams/sequence-reentrant-deposit.excalidraw","../../../../../../mock_project/.hex/model/diagrams/sequence-reentrant-deposit.spec.json","../../../../../../mock_project/.hex/model/diagrams/state-machine-vault.excalidraw","../../../../../../mock_project/.hex/model/diagrams/state-machine-vault.spec.json","../../../../../../mock_project/.hex/model/drafts/reader-1.json","../../../../../../mock_project/.hex/model/drafts/standards.json","../../../../../../mock_project/.hex/model/invariants.json","../../../../../../mock_project/.hex/model/protocol.json","../../../../../../mock_project/.hex/model/verdicts/accounting.json","../../../../../../mock_project/.hex/model/verdicts/actors-privileges-trust.json","../../../../../../mock_project/.hex/model/verdicts/assets-dependencies.json","../../../../../../mock_project/.hex/model/verdicts/invariants.json","../../../../../../mock_project/.hex/model/verdicts/state-machines-flows.json","../../../../../../mock_project/.hex/notes/contracts/MockToken.sol.json","../../../../../../mock_project/.hex/notes/contracts/Vault.sol.json","../../../../../../mock_project/.hex/notes/general.md","../../../../../../mock_project/.hex/notes/notes.json","../../../../../../mock_project/.hex/overview.md","../../../../../../mock_project/.hex/progress.json","../../../../../../mock_project/.hex/report/01-executive-summary.tex","../../../../../../mock_project/.hex/report/02-audited-files.tex","../../../../../../mock_project/.hex/report/03-summary-of-findings.tex","../../../../../../mock_project/.hex/report/04-system-overview.tex","../../../../../../mock_project/.hex/report/06-issues.tex","../../../../../../mock_project/.hex/report/07-documentation-eval.tex","../../../../../../mock_project/.hex/report/08-test-suite.tex","../../../../../../mock_project/.hex/report/audited_files.txt","../../../../../../mock_project/.hex/report/documentation_eval.txt","../../../../../../mock_project/.hex/report/executive_summary.txt","../../../../../../mock_project/.hex/report/findings.txt","../../../../../../mock_project/.hex/report/summary_of_findings.txt","../../../../../../mock_project/.hex/report/system_overview.txt","../../../../../../mock_project/.hex/report/test_suite.txt","../../../../../../mock_project/.hex/spec-conformance.json","../../../../../../mock_project/.hex/spec-conformance.md","../../../../../../mock_project/.hex/stats.json","../../../../../../mock_project/.hex/tracking.json","../../../../../../mock_project/.hex/validations/H-001_memo.md","../../../../../../mock_project/.hex/validations/H-002_memo.md","../../../../../../mock_project/.hex/validations/H-003_memo.md","../../../../../../mock_project/.hex/validations/H-004_memo.md","../../../../../../mock_project/.hex/validations/H-005_memo.md","../../../../../../mock_project/.hex/validations/H-006_memo.md","../../../../../../mock_project/.hex/validations/H-007_memo.md","../../../../../../mock_project/.hex/validations/H-008_memo.md","../../../../../../mock_project/.hex/xref.json","../../../../../../mock_project/.mcp.json","../../../../../../mock_project/CLAUDE.md","../../../../../../mock_project/E2E.md","../../../../../../mock_project/cache/solidity-files-cache.json","../../../../../../mock_project/out/H-006.t.sol/H006_UnboundedFee.json","../../../../../../mock_project/out/MockToken.sol/MockToken.json","../../../../../../mock_project/out/Vault.sol/IToken.json","../../../../../../mock_project/out/Vault.sol/Vault.json","../../../../../../mock_project/out/build-info/54af09872e212975.json","../../../../../../mock_project/out/build-info/c9c9317624966152.json","../../../../../../mock_project/remappings.txt","../../../../../../node_modules/anymatch/index.js","../../../../../../node_modules/anymatch/package.json","../../../../../../node_modules/binary-extensions/binary-extensions.json","../../../../../../node_modules/binary-extensions/index.js","../../../../../../node_modules/binary-extensions/package.json","../../../../../../node_modules/braces/index.js","../../../../../../node_modules/braces/lib/compile.js","../../../../../../node_modules/braces/lib/constants.js","../../../../../../node_modules/braces/lib/expand.js","../../../../../../node_modules/braces/lib/parse.js","../../../../../../node_modules/braces/lib/stringify.js","../../../../../../node_modules/braces/lib/utils.js","../../../../../../node_modules/braces/package.json","../../../../../../node_modules/chokidar/index.js","../../../../../../node_modules/chokidar/lib/constants.js","../../../../../../node_modules/chokidar/lib/fsevents-handler.js","../../../../../../node_modules/chokidar/lib/nodefs-handler.js","../../../../../../node_modules/chokidar/package.json","../../../../../../node_modules/fill-range/index.js","../../../../../../node_modules/fill-range/package.json","../../../../../../node_modules/glob-parent/index.js","../../../../../../node_modules/glob-parent/package.json","../../../../../../node_modules/is-binary-path/index.js","../../../../../../node_modules/is-binary-path/package.json","../../../../../../node_modules/is-extglob/index.js","../../../../../../node_modules/is-extglob/package.json","../../../../../../node_modules/is-glob/index.js","../../../../../../node_modules/is-glob/package.json","../../../../../../node_modules/is-number/index.js","../../../../../../node_modules/is-number/package.json","../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/normalize-path/index.js","../../../../../../node_modules/normalize-path/package.json","../../../../../../node_modules/picomatch/index.js","../../../../../../node_modules/picomatch/lib/constants.js","../../../../../../node_modules/picomatch/lib/parse.js","../../../../../../node_modules/picomatch/lib/picomatch.js","../../../../../../node_modules/picomatch/lib/scan.js","../../../../../../node_modules/picomatch/lib/utils.js","../../../../../../node_modules/picomatch/package.json","../../../../../../node_modules/readdirp/index.js","../../../../../../node_modules/readdirp/package.json","../../../../../../node_modules/to-regex-range/index.js","../../../../../../node_modules/to-regex-range/package.json","../../../../../../package-lock.json","../../../../../../package.json","../../../../../../src/facts/__fixtures__/rich.build-info.json","../../../../../../src/skills/ai-audit/SKILL.md","../../../../../../src/skills/ai-audit/UPSTREAM.md","../../../../../../src/skills/ai-audit/references/agent-prompts.md","../../../../../../src/skills/ai-audit/references/dedup-and-assembly.md","../../../../../../src/skills/ai-audit/references/hacking-agents/access-control-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/asymmetry-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/boundary-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/economic-security-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/execution-trace-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/first-principles-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/flow-gap-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/invariant-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/math-precision-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/numerical-gap-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/periphery-agent.md","../../../../../../src/skills/ai-audit/references/hacking-agents/shared-rules.md","../../../../../../src/skills/ai-audit/references/hacking-agents/trust-gap-agent.md","../../../../../../src/skills/ai-audit/references/hex-board.md","../../../../../../src/skills/ai-audit/references/judging.md","../../../../../../src/skills/ai-audit/references/report-formatting.md","../../../../../../src/skills/ai-audit/references/report-language.md","../../../../../../src/skills/ai-audit/references/senior-auditor-sop.md","../../../../../../src/skills/diane.md","../../../../../../src/skills/fix-review.md","../../../../../../src/skills/fuzz-convert/SKILL.md","../../../../../../src/skills/fuzz-sync/SKILL.md","../../../../../../src/skills/fuzz/SKILL.md","../../../../../../src/skills/fuzz/UPSTREAM.md","../../../../../../src/skills/fuzz/agents/implementers/global-property-implementer.md","../../../../../../src/skills/fuzz/agents/implementers/specific-property-implementer.md","../../../../../../src/skills/fuzz/agents/invariant-discovery/adversarial-profit-maximizer.md","../../../../../../src/skills/fuzz/agents/invariant-discovery/conservation-auditor.md","../../../../../../src/skills/fuzz/agents/invariant-discovery/protocol-type-specialist.md","../../../../../../src/skills/fuzz/agents/invariant-discovery/roundtrip-rounding-analyst.md","../../../../../../src/skills/fuzz/agents/invariant-discovery/state-transition-mapper.md","../../../../../../src/skills/fuzz/agents/invariant-discovery/synthesizer.md","../../../../../../src/skills/fuzz/agents/protocol-analyzer.md","../../../../../../src/skills/fuzz/agents/report-writer.md","../../../../../../src/skills/fuzz/references/handler-patterns.md","../../../../../../src/skills/fuzz/references/hex-invariants.md","../../../../../../src/skills/fuzz/references/property-generation.md","../../../../../../src/skills/fuzz/references/selection-policy.md","../../../../../../src/skills/fuzz/references/setup-playbook.md","../../../../../../src/skills/fuzz/references/template-map.md","../../../../../../src/skills/fuzz/templates/medusa.json","../../../../../../src/skills/generate-poc.md","../../../../../../src/skills/generate-report.md","../../../../../../src/skills/ingest-aa-report.md","../../../../../../src/skills/init-audit/SKILL.md","../../../../../../src/skills/init-audit/references/agents/conformance-checker.md","../../../../../../src/skills/init-audit/references/agents/contract-reader.md","../../../../../../src/skills/init-audit/references/agents/diagram-composer.md","../../../../../../src/skills/init-audit/references/agents/docs-extractor.md","../../../../../../src/skills/init-audit/references/agents/prior-audit.md","../../../../../../src/skills/init-audit/references/agents/regression-checker.md","../../../../../../src/skills/init-audit/references/agents/skeptic.md","../../../../../../src/skills/init-audit/references/agents/standards-checker.md","../../../../../../src/skills/init-audit/references/agents/synthesizer.md","../../../../../../src/skills/prevalidate.md","../../../../../../src/skills/sync-issues.md","../../../../../../src/skills/validate-all-findings.md","../../../../../../src/skills/validate-finding.md","../../../../../../src/skills/write-finding.md","../../../../../../tsconfig.json","../../../../../tsconfig.json","../../../../package.json","../../../../routes-manifest.json","../../../chunks/916.js","../../../webpack-runtime.js"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(()=>{var e={};e.id=250,e.ids=[250],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},8780:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>m,patchFetch:()=>h,requestAsyncStorage:()=>d,routeModule:()=>f,serverHooks:()=>x,staticGenerationAsyncStorage:()=>p});var n={};r.r(n),r.d(n,{GET:()=>c,dynamic:()=>s});var i=r(3277),o=r(5265),l=r(5356),u=r(7076),a=r(9416);let s="force-dynamic";async function c(e){let t=e.nextUrl.searchParams.get("file");if(!t)return u.NextResponse.json({error:"Missing file"},{status:400});let r=(0,a.o)();if(!r)return u.NextResponse.json({available:!1});let n=r.refs[t]??[],i=new Set(n.map(e=>e[3]));for(let[e,n]of Object.entries(r.decls))n.file===t&&i.add(e);let o={};for(let e of[...i]){let t=r.impls[e];if(t)for(let r of(o[e]=t,t))i.add(r.id)}let l={};for(let e of i)r.decls[e]&&(l[e]=r.decls[e]);return u.NextResponse.json({available:!0,refs:n,decls:l,impls:o})}let f=new i.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/xref/route",pathname:"/api/xref",filename:"route",bundlePath:"app/api/xref/route"},resolvedPagePath:"/home/dx/Work/hex/dashboard/app/api/xref/route.ts",nextConfigOutput:"",userland:n}),{requestAsyncStorage:d,staticGenerationAsyncStorage:p,serverHooks:x}=f,m="/api/xref/route";function h(){return(0,l.patchFetch)({serverHooks:x,staticGenerationAsyncStorage:p})}},1720:(e,t,r)=>{r.d(t,{ZN:()=>d,J1:()=>p,gn:()=>c,ws:()=>f,V9:()=>x});var n=r(7561),i=r.n(n),o=r(9411),l=r.n(o);let u=[".hex",".solaudit","solaudit-output"];function a(e){return e.replace(/\\/g,"/")}function s(){try{let e=function(e=process.cwd()){let t=l().resolve(e);for(;;){let e=function(e){for(let t of[...u.map(t=>l().join(e,t,"config.json")),l().join(e,"config.json")])if(i().existsSync(t))return a(t);return null}(t);if(e)return a(l().dirname(e));let r=l().dirname(t);if(r===t)return null;t=r}}(process.cwd());if(e)return e}catch{}return l().join(process.cwd(),".hex")}function c(e){try{let t=l().join(s(),e),r=i().readFileSync(t,"utf-8");return JSON.parse(r)}catch{return null}}function f(e){try{let t=l().join(s(),e);return i().readFileSync(t,"utf-8")}catch{return null}}function d(){return s()}function p(e){try{let t=l().join(s(),e);if(!i().existsSync(t))return[];return i().readdirSync(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}function x(e){try{let t=l().join(s(),e),r=i().readFileSync(t,"utf-8");return JSON.parse(r)}catch{return null}}},9416:(e,t,r)=>{r.d(t,{Z:()=>c,o:()=>s});var n=r(7561),i=r.n(n),o=r(9411),l=r.n(o),u=r(1720);let a=null;function s(){let e;let t=l().join((0,u.ZN)(),"xref.json");try{e=i().statSync(t).mtimeMs}catch{return a=null,null}if(a&&a.file===t&&a.mtime===e)return a.data;try{let r=JSON.parse(i().readFileSync(t,"utf-8"));return a={file:t,mtime:e,data:r},r}catch{return null}}function c(e,t,r){let n=null;for(let[i,o]of Object.entries(e.decls))o.file===t&&("function"===o.kind||"modifier"===o.kind)&&(r<o.line_start||r>o.line_end||n&&!(o.line_end-o.line_start<n.decl.line_end-n.decl.line_start)||(n={key:i,decl:o}));return n}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[916,786],()=>r(8780));module.exports=n})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{var e={};e.id=381,e.ids=[381],e.modules={7849:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external")},2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},5403:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},4749:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},7561:e=>{"use strict";e.exports=require("node:fs")},9411:e=>{"use strict";e.exports=require("node:path")},7742:e=>{"use strict";e.exports=require("node:process")},1041:e=>{"use strict";e.exports=require("node:url")},1017:e=>{"use strict";e.exports=require("path")},7310:e=>{"use strict";e.exports=require("url")},8465:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>r.a,__next_app__:()=>p,originalPathname:()=>x,pages:()=>c,routeModule:()=>m,tree:()=>d}),s(8913),s(7415),s(2874);var i=s(7105),n=s(5265),a=s(157),r=s.n(a),o=s(4665),l={};for(let e in o)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>o[e]);s.d(t,l);let d=["",{children:["changes",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,8913)),"/home/dx/Work/hex/dashboard/app/changes/page.tsx"]}]},{metadata:{icon:[async e=>(await Promise.resolve().then(s.bind(s,2950))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(s.bind(s,7415)),"/home/dx/Work/hex/dashboard/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,2874,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(s.bind(s,2950))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}],c=["/home/dx/Work/hex/dashboard/app/changes/page.tsx"],x="/changes/page",p={require:s,loadChunk:()=>Promise.resolve()},m=new i.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/changes/page",pathname:"/changes",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},8576:(e,t,s)=>{Promise.resolve().then(s.bind(s,5707)),Promise.resolve().then(s.bind(s,3368))},5707:(e,t,s)=>{"use strict";s.d(t,{ChangesClient:()=>$});var i=s(9899),n=s(8107),a=s(4175),r=s(5507),o=s(6153),l=s(3368),d=s(8799),c=s(733),x=s(394),p=s(5893),m=s(7096),u=s(8110),h=s(366),f=s(6844),g=s(8279),b=s(1593);let y={added:"Added",modified:"Modified",removed:"Removed",comments_only:"Comments only"},j={added:"var(--success)",modified:"var(--high)",removed:"var(--critical)",comments_only:"var(--neutral)"},v={changed:"Changed",calls:"Calls",modifier:"Uses modifier",reads_state:"Reads state",override:"Dispatches to",inherits:"Inherits"},_={regressed:{label:"Regressed",color:"var(--critical)"},acknowledged_still_present:{label:"Still present",color:"var(--medium)"},fix_touched_ok:{label:"Fix touched, holds",color:"var(--success)"},fixed_unchanged:{label:"Fixed, untouched",color:"var(--neutral)"},code_removed:{label:"Code removed",color:"var(--neutral)"}},w={fixed:{label:"Fixed",color:"var(--success)"},partially_fixed:{label:"Partially fixed",color:"var(--medium)"},not_fixed:{label:"Not fixed",color:"var(--critical)"},unaddressed:{label:"Unaddressed",color:"var(--high)"},unknown:{label:"Unknown",color:"var(--neutral)"}},N={passing:"passes",failing:"fails",error:"errors",missing:"missing"},k=(e,t)=>`${e} ${t}${1===e?"":"s"}`;function $({diff:e,overview:t,prior:s,fixReview:n,reviewStates:a}){let d=(0,o.useSearchParams)(),u=(0,r.useMemo)(()=>{let t=e?[{id:"overview",label:"Overview"}]:[];return n&&t.push({id:"fixes",label:"Fix review",count:n.cards.length+n.unmapped_changes.length}),e?.storage_layout_changes.length&&t.push({id:"storage",label:"Storage layout",count:e.storage_layout_changes.length}),e&&(t.push({id:"code",label:"Changed code",count:e.changes.length}),t.push({id:"impact",label:"Impact",count:e.impacted.length})),s?.items.length&&t.push({id:"prior",label:"Prior findings",count:s.items.length}),t},[e,s,n]),[h,b]=(0,r.useState)(()=>{let e=d.get("s");return e&&u.some(t=>t.id===e)?e:u[0]?.id??"overview"}),[N,$]=(0,r.useState)(null),[q,S]=(0,r.useState)("entry"),T=(0,r.useMemo)(()=>(e?.impacted??[]).map((e,t)=>({it:e,i:t})).filter(({it:e})=>"all"===q||e.is_entry_point||0===e.depth).sort((e,t)=>e.it.depth-t.it.depth||Number(t.it.is_entry_point)-Number(e.it.is_entry_point)),[e,q]);(0,g.y)({Escape:()=>$(null),j:()=>F(1),k:()=>F(-1)});let F=e=>{let t=u.findIndex(e=>e.id===h),s=u[Math.max(0,Math.min(u.length-1,t+e))];s&&b(s.id)},W=i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto p-2",children:u.map(e=>i.jsx(c.w,{dense:!0,selected:e.id===h,onClick:()=>b(e.id),title:e.label,trailing:void 0!==e.count?i.jsx("span",{className:"tabular-nums",children:e.count}):void 0},e.id))});return i.jsx(l.z,{toolbar:i.jsx(l.Toolbar,{title:"Changes",meta:e?(0,i.jsxs)("span",{children:[i.jsx("span",{className:"font-mono text-caption",children:e.base_commit.slice(0,8)})," →"," ",i.jsx("span",{className:"font-mono text-caption",children:e.head_commit.slice(0,8)}),(0,i.jsxs)("span",{className:"ml-2",children:["+",e.summary.additions," −",e.summary.deletions]})]}):n?(0,i.jsxs)("span",{children:["Fix review \xb7"," ",i.jsx("span",{className:"font-mono text-caption",children:n.from_commit.slice(0,8)})," ","→ ",i.jsx("span",{className:"font-mono text-caption",children:n.to_commit.slice(0,8)})]}):void 0}),list:W,listWidth:220,inspector:N?i.jsx(z,{sel:N,diff:e,prior:s,fixReview:n,reviewStates:a,onClose:()=>$(null)}):void 0,children:i.jsx(l.x,{children:(0,i.jsxs)("div",{className:"mx-auto max-w-[760px] px-8 pb-16 pt-8",children:["overview"===h&&e&&(0,i.jsxs)("div",{className:"rise-in",children:[(0,i.jsxs)("p",{className:"text-heading font-medium text-text-primary",children:[k(e.summary.files_changed,"file")," changed \xb7"," ",e.summary.functions_added," added, ",e.summary.functions_modified," modified,"," ",e.summary.functions_removed," removed"]}),(0,i.jsxs)("p",{className:"mt-1 text-body text-text-secondary",children:["The change reaches ",k(e.summary.impacted_entry_points,"entry point"),e.summary.storage_layout_changes?` and moves ${k(e.summary.storage_layout_changes,"storage slot")}`:"","."]}),(e.warnings??[]).map((e,t)=>(0,i.jsxs)("p",{className:"mt-3 flex gap-2 text-caption text-text-secondary",children:[i.jsx(p.oT,{color:"var(--medium)",className:"mt-1"}),e]},t)),t&&i.jsx("div",{className:"mt-8 border-t border-border-subtle pt-6",children:i.jsx(f.$8,{content:t.replace(/^# .*\n+/,"")})}),n&&i.jsx("button",{type:"button",onClick:()=>b("fixes"),className:"mt-8 flex w-full items-center gap-3 border-y border-border-subtle py-3 text-left hover:border-border-default",children:(0,i.jsxs)("span",{className:"flex-1 text-body text-text-primary",children:["Fix review of ",n.to_commit.slice(0,8),":"," ",i.jsx("span",{className:"text-text-secondary",children:C(n)})]})})]}),"storage"===h&&e&&i.jsx(P,{title:"Storage layout",hint:"Slots that moved. Behind a proxy, an upgrade would read these from the wrong place.",children:e.storage_layout_changes.map((e,t)=>i.jsx(R,{selected:N?.kind==="storage"&&N.i===t,onClick:()=>$({kind:"storage",i:t}),leading:i.jsx(p.oT,{color:"var(--high)"}),title:i.jsx(f.T9,{children:e.detail}),subtitle:`${e.contract} \xb7 ${e.kind.replace(/_/g," ")}`},t))}),"code"===h&&e&&i.jsx(P,{title:"Changed code",hint:e.files.map(e=>`${e.path} (+${e.additions} −${e.deletions})`).join(" \xb7 "),children:(function(e,t){let s=new Map;for(let i of e)s.set(t(i),[...s.get(t(i))??[],i]);return Array.from(s.entries())})(e.changes.map((e,t)=>({c:e,i:t})),e=>e.c.contract).map(([e,t])=>(0,i.jsxs)("div",{children:[i.jsx(c.i,{children:e}),t.map(({c:e,i:t})=>i.jsx(R,{selected:N?.kind==="change"&&N.i===t,onClick:()=>$({kind:"change",i:t}),leading:i.jsx(p.oT,{color:j[e.change],title:y[e.change]}),title:i.jsx("span",{className:"font-mono text-caption text-text-primary",children:e.entity}),subtitle:`${e.kind.replace("_"," ")} \xb7 ${y[e.change]??e.change}`},t))]},e))}),"impact"===h&&e&&i.jsx(P,{title:"Impact",hint:"Every function the change reaches: changed code first, then callers, modifier users, readers of changed state and inherited entry points.",control:i.jsx(x.s,{segments:[{value:"entry",label:"Entry points"},{value:"all",label:"All",count:e.impacted.length}],value:q,onChange:S}),children:T.map(({it:e,i:t})=>{let s=a[`${e.contract}.${e.function}`];return i.jsx(R,{selected:N?.kind==="impact"&&N.i===t,onClick:()=>$({kind:"impact",i:t}),leading:s?i.jsx(m.e,{state:s}):i.jsx("span",{className:"h-3.5 w-3.5"}),title:(0,i.jsxs)("span",{children:[e.contract,".",i.jsx("span",{className:"font-medium",children:e.function.split("(")[0]})]}),subtitle:0===e.depth?`Changed \xb7 ${e.reasons[0]?.via??""}`:`${k(e.depth,"hop")} \xb7 ${v[e.reasons[0]?.kind]??""} ${e.reasons[0]?.via??""}`,trailing:e.is_entry_point?"Entry point":e.visibility},t)})}),"prior"===h&&s&&i.jsx(P,{title:"Prior findings",hint:"Findings from the previous audit, checked against this change.",children:s.items.map((e,t)=>i.jsx(R,{selected:N?.kind==="prior"&&N.i===t,onClick:()=>$({kind:"prior",i:t}),leading:i.jsx(p.oH,{severity:e.severity,label:!1}),title:e.title,subtitle:`${e.id} \xb7 ${_[e.status]?.label??e.status}`,trailing:i.jsx(p.oT,{color:_[e.status]?.color??"var(--neutral)",title:_[e.status]?.label})},e.id))}),"fixes"===h&&n&&(0,i.jsxs)(i.Fragment,{children:[i.jsx(P,{title:"Fix review",hint:`${n.from_commit.slice(0,8)} → ${n.to_commit.slice(0,8)} \xb7 ${C(n)}. Read-only here; the CLI skill applies the proposals.`,children:n.cards.map((e,t)=>i.jsx(R,{selected:N?.kind==="fix"&&N.i===t,onClick:()=>$({kind:"fix",i:t}),leading:i.jsx(p.oT,{color:w[e.status]?.color??"var(--neutral)",title:w[e.status]?.label}),title:e.title,subtitle:`${e.id}${e.github_issue?` \xb7 #${e.github_issue}`:""} \xb7 ${w[e.status]?.label??e.status}${e.applied_at?" \xb7 applied":""}`,trailing:i.jsx(p.oH,{severity:e.severity})},e.id))}),n.unmapped_changes.length>0&&i.jsx(P,{title:"Changes no card explains",hint:"Fix-commit code that needs a review of its own.",children:n.unmapped_changes.map((e,t)=>i.jsx(R,{selected:N?.kind==="unmapped"&&N.i===t,onClick:()=>$({kind:"unmapped",i:t}),leading:i.jsx(p.oT,{color:e.reviewed?"var(--success)":"var(--medium)",title:e.reviewed?"Reviewed":"Needs review"}),title:i.jsx("span",{className:"font-mono text-caption text-text-primary",children:e.entity}),subtitle:`${e.contract} \xb7 ${e.kind} ${e.change}${e.reviewed?" \xb7 reviewed":""}`},t))})]})]})})})}function C(e){let t=e.summary;return[t.fixed?`${t.fixed} fixed`:null,t.partially_fixed?`${t.partially_fixed} partially fixed`:null,t.not_fixed?`${t.not_fixed} not fixed`:null,t.unaddressed?`${t.unaddressed} unaddressed`:null,t.unknown?`${t.unknown} unknown`:null,t.unmapped?k(t.unmapped,"unmapped change"):null].filter(Boolean).join(" \xb7 ")}function P({title:e,hint:t,control:s,children:n}){return(0,i.jsxs)("section",{className:"rise-in mb-10",children:[(0,i.jsxs)("div",{className:"mb-3 flex flex-wrap items-end justify-between gap-3",children:[(0,i.jsxs)("div",{className:"min-w-0",children:[i.jsx("h2",{className:"text-heading font-medium text-text-primary",children:e}),t&&i.jsx("p",{className:"mt-0.5 text-caption text-text-tertiary",children:t})]}),s]}),i.jsx("div",{className:"-mx-2",children:n})]})}function R({selected:e,onClick:t,leading:s,title:n,subtitle:a,trailing:r}){return(0,i.jsxs)("button",{type:"button",onClick:t,className:(0,b.cn)("flex w-full items-center gap-3 rounded-md px-2 py-2 text-left",e?"bg-accent-subtle":"hover:bg-surface-1"),children:[s&&i.jsx("span",{className:"flex w-4 shrink-0 justify-center",children:s}),(0,i.jsxs)("span",{className:"min-w-0 flex-1",children:[i.jsx("span",{className:(0,b.cn)("block truncate text-body",e?"text-accent":"text-text-primary"),children:n}),a&&i.jsx("span",{className:"block truncate text-caption text-text-tertiary",children:a})]}),r&&i.jsx("span",{className:"shrink-0 text-caption text-text-tertiary",children:r})]})}function q({id:e,states:t}){let s=t[e];return s?(0,i.jsxs)(a.default,{href:`/review?fn=${encodeURIComponent(e)}`,className:"inline-flex h-8 items-center gap-2 rounded-md border border-border-default bg-surface-0 px-3 text-body font-medium text-text-primary shadow-sm hover:bg-surface-2",children:[i.jsx(m.e,{state:s})," Open in Review"]}):null}function z({sel:e,diff:t,prior:s,fixReview:r,reviewStates:o,onClose:l}){if("change"===e.kind&&t){let s=t.changes[e.i],n=`${s.contract}.${s.entity}`;return i.jsx(d.lj,{eyebrow:`${s.contract} \xb7 ${s.kind.replace("_"," ")}`,title:i.jsx("span",{className:"font-mono text-body",children:s.entity}),subtitle:y[s.change],onClose:l,actions:i.jsx(q,{id:n,states:o}),children:i.jsx(d.oz,{label:"Where",children:"removed"!==s.change&&s.line_start?i.jsx(h.i,{file:s.file,lineStart:s.line_start,lineEnd:s.line_end}):i.jsx("span",{className:"font-mono text-caption text-text-secondary",children:s.file})})})}if("impact"===e.kind&&t){let s=t.impacted[e.i],n=`${s.contract}.${s.function}`;return(0,i.jsxs)(d.lj,{eyebrow:`${s.contract} \xb7 ${s.is_entry_point?"Entry point":s.visibility}`,title:s.function.split("(")[0],subtitle:i.jsx("span",{className:"font-mono",children:s.function}),onClose:l,actions:i.jsx(q,{id:n,states:o}),children:[(0,i.jsxs)(d.oz,{label:"Why it is impacted",children:[i.jsx("ul",{className:"space-y-1.5",children:s.reasons.map((e,t)=>(0,i.jsxs)("li",{className:"text-body text-text-secondary",children:[v[e.kind]??e.kind," ",i.jsx("span",{className:"font-mono text-caption text-text-primary",children:e.via})]},t))}),(0,i.jsxs)("p",{className:"mt-2 text-caption text-text-tertiary",children:[0===s.depth?"Changed itself":`${k(s.depth,"hop")} from the nearest change`," ","\xb7 ",s.confidence," confidence"]})]}),i.jsx(d.oz,{label:"Where",children:i.jsx(h.i,{file:s.file,lineStart:s.line_start})})]})}if("storage"===e.kind&&t){let s=t.storage_layout_changes[e.i];return i.jsx(d.lj,{eyebrow:s.contract,title:s.kind.replace(/_/g," ").replace(/^./,e=>e.toUpperCase()),onClose:l,children:(0,i.jsxs)(d.oz,{label:"Detail",children:[i.jsx("p",{className:"text-body text-text-secondary",children:i.jsx(f.T9,{children:s.detail})}),i.jsx("p",{className:"mt-2 font-mono text-caption text-text-tertiary",children:s.file})]})})}if("prior"===e.kind&&s){let t=s.items[e.i];return i.jsx(d.lj,{eyebrow:`${t.id} \xb7 prior audit`,title:t.title,subtitle:i.jsx(p.oH,{severity:t.severity}),onClose:l,actions:t.issue_id?(0,i.jsxs)(a.default,{href:`/issues?card=${encodeURIComponent(t.issue_id)}`,className:"inline-flex h-8 items-center rounded-md border border-border-default bg-surface-0 px-3 text-body font-medium text-text-primary shadow-sm hover:bg-surface-2",children:["Open card ",t.issue_id]}):void 0,children:i.jsx(d.oz,{label:_[t.status]?.label??t.status,children:i.jsx("p",{className:"text-body text-text-secondary",children:t.reasoning})})})}if("fix"===e.kind&&r){let t=r.cards[e.i];return(0,i.jsxs)(d.lj,{eyebrow:`${t.id}${t.github_issue?` \xb7 #${t.github_issue}`:""}`,title:t.title,subtitle:i.jsx(p.oH,{severity:t.severity}),onClose:l,actions:i.jsx(a.default,{href:`/issues?card=${encodeURIComponent(t.id)}`,className:"inline-flex h-8 items-center rounded-md border border-border-default bg-surface-0 px-3 text-body font-medium text-text-primary shadow-sm hover:bg-surface-2",children:"Open card"}),children:[(0,i.jsxs)(d.oz,{label:"Status",children:[(0,i.jsxs)("p",{className:"flex items-center gap-2 text-body text-text-primary",children:[i.jsx(p.oT,{color:w[t.status]?.color??"var(--neutral)"}),w[t.status]?.label??t.status]}),t.evidence&&i.jsx("p",{className:"mt-1.5 text-body text-text-secondary",children:t.evidence})]}),(t.poc.file||t.poc.before||t.poc.after)&&(0,i.jsxs)(d.oz,{label:"Proof of concept",children:[t.poc.file&&i.jsx("p",{className:"truncate font-mono text-caption text-text-secondary",children:t.poc.file}),t.poc.before&&i.jsx(d.vz,{label:"Audited",children:N[t.poc.before]??t.poc.before}),t.poc.after&&i.jsx(d.vz,{label:"Fixed",children:N[t.poc.after]??t.poc.after})]}),(t.changed_functions.length>0||t.commits.length>0)&&(0,i.jsxs)(d.oz,{label:"Changed by",children:[t.changed_functions.map(e=>i.jsx(a.default,{href:`/review?fn=${encodeURIComponent(e)}`,className:"-mx-1.5 block truncate rounded-md px-1.5 py-1 text-body text-text-primary hover:bg-surface-2",children:e.split("(")[0]},e)),t.commits.length>0&&i.jsx("p",{className:"mt-1 font-mono text-caption text-text-tertiary",children:t.commits.join(", ")})]}),(t.proposed.resolution||t.proposed.update_from_client)&&(0,i.jsxs)(d.oz,{label:t.applied_at?"Applied to GitHub":"Proposed",children:[t.proposed.resolution&&i.jsx(d.vz,{label:"Resolution",children:t.proposed.resolution}),t.proposed.update_from_client&&i.jsx("p",{className:"mt-1 text-body text-text-secondary",children:t.proposed.update_from_client}),t.applied_at&&i.jsx("p",{className:"mt-1 text-caption text-text-tertiary",children:i.jsx(n.P,{iso:t.applied_at})})]})]})}if("unmapped"===e.kind&&r){let t=r.unmapped_changes[e.i];return(0,i.jsxs)(d.lj,{eyebrow:`${t.contract} \xb7 ${t.kind} ${t.change}`,title:i.jsx("span",{className:"font-mono text-body",children:t.entity}),onClose:l,children:[i.jsx(d.oz,{label:"Where",children:i.jsx("p",{className:"font-mono text-caption text-text-secondary",children:t.file})}),t.impacted_entry_points.length>0&&i.jsx(d.oz,{label:"Reaches",children:t.impacted_entry_points.map(e=>i.jsx(a.default,{href:`/review?fn=${encodeURIComponent(e)}`,className:"-mx-1.5 block truncate rounded-md px-1.5 py-1 text-body text-text-primary hover:bg-surface-2",children:e.split("(")[0]},e))}),(0,i.jsxs)(d.oz,{label:"Review",children:[i.jsx("p",{className:"text-body text-text-secondary",children:t.reviewed?"Reviewed.":"Not reviewed yet."}),t.note&&i.jsx("p",{className:"mt-1 text-body text-text-secondary",children:t.note})]})]})}return i.jsx(u.u,{sentence:"Nothing selected."})}},8107:(e,t,s)=>{"use strict";s.d(t,{P:()=>n});var i=s(9899);function n({iso:e,className:t}){return i.jsx("time",{dateTime:e,className:t,suppressHydrationWarning:!0,children:new Date(e).toLocaleString()})}},394:(e,t,s)=>{"use strict";s.d(t,{s:()=>a});var i=s(9899),n=s(1593);function a({segments:e,value:t,onChange:s,className:a,ariaLabel:r,size:o="md",fill:l=!1}){return i.jsx("div",{role:"tablist","aria-label":r,className:(0,n.cn)("max-w-full items-center gap-0.5 overflow-x-auto rounded-lg bg-surface-2 p-0.5",l?"flex w-full":"inline-flex",a),children:e.map(e=>{let a=e.value===t;return(0,i.jsxs)("button",{role:"tab",type:"button","aria-selected":a,onClick:()=>s(e.value),className:(0,n.cn)("inline-flex h-6 shrink-0 items-center justify-center gap-1 whitespace-nowrap rounded-md font-medium","sm"===o?"px-1.5 text-[11.5px]":"px-2.5 text-caption",l&&"flex-1",a?"bg-surface-0 text-text-primary shadow-sm":"text-text-secondary hover:text-text-primary"),children:[e.label,void 0!==e.count&&i.jsx("span",{className:"tabular-nums text-text-tertiary",children:e.count})]},e.value)})})}},8913:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>u,dynamic:()=>m});var i=s(5023),n=s(1720),a=s(6905),r=s(6132),o=s(2548),l=s(2772);let d=(0,l.createProxy)(String.raw`/home/dx/Work/hex/dashboard/app/changes/ChangesClient.tsx`),{__esModule:c,$$typeof:x}=d;d.default;let p=(0,l.createProxy)(String.raw`/home/dx/Work/hex/dashboard/app/changes/ChangesClient.tsx#ChangesClient`),m="force-dynamic";function u(){let e=(0,n.gn)("diff.json"),t=(0,a.Rd)(),s=(0,a.zi)();if(!e&&!t){let e=s?.project?.diff?.base_commit;return(0,i.jsxs)("div",{className:"flex h-full flex-col",children:[i.jsx(o.o8,{title:"Changes"}),i.jsx(r.u,{sentence:"Changes shows what moved since the previously audited commit, and which flows it reaches.",command:e?"hex diff":"hex init --mode diff --base <commit>"})]})}let l={};for(let e of(0,a.Aw)(0).rows)l[e.id]=e.state;return i.jsx(p,{diff:e,overview:(0,n.ws)("diff-overview.md"),prior:(0,n.gn)("previous-audit/review.json"),fixReview:t,reviewStates:l})}}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),i=t.X(0,[916,649,645,494,42,310,370,624,653],()=>s(8465));module.exports=i})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../package.json","../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../package.json","../../chunks/310.js","../../chunks/370.js","../../chunks/42.js","../../chunks/494.js","../../chunks/624.js","../../chunks/645.js","../../chunks/649.js","../../chunks/653.js","../../chunks/916.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/changes/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"4595":{"*":{"id":"1388","name":"*","chunks":[],"async":false}},"11076":{"*":{"id":"9323","name":"*","chunks":[],"async":false}},"11447":{"*":{"id":"5915","name":"*","chunks":[],"async":false}},"15276":{"*":{"id":"820","name":"*","chunks":[],"async":false}},"25268":{"*":{"id":"3817","name":"*","chunks":[],"async":false}},"43297":{"*":{"id":"1611","name":"*","chunks":[],"async":false}},"52331":{"*":{"id":"1174","name":"*","chunks":[],"async":false}},"56902":{"*":{"id":"2541","name":"*","chunks":[],"async":false}},"63237":{"*":{"id":"281","name":"*","chunks":[],"async":false}},"67498":{"*":{"id":"696","name":"*","chunks":[],"async":false}},"68916":{"*":{"id":"5314","name":"*","chunks":[],"async":false}},"71520":{"*":{"id":"5707","name":"*","chunks":[],"async":false}},"81751":{"*":{"id":"3368","name":"*","chunks":[],"async":false}},"84300":{"*":{"id":"9939","name":"*","chunks":[],"async":false}},"85581":{"*":{"id":"6462","name":"*","chunks":[],"async":false}},"88554":{"*":{"id":"1352","name":"*","chunks":[],"async":false}},"89690":{"*":{"id":"2204","name":"*","chunks":[],"async":false}},"92198":{"*":{"id":"9915","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/dx/Work/hex/node_modules/next/dist/client/components/app-router.js":{"id":25268,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/esm/client/components/app-router.js":{"id":25268,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/client/components/client-page.js":{"id":11076,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/esm/client/components/client-page.js":{"id":11076,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/client/components/error-boundary.js":{"id":89690,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":89690,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/client/components/layout-router.js":{"id":15276,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/esm/client/components/layout-router.js":{"id":15276,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/client/components/not-found-boundary.js":{"id":11447,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":11447,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/client/components/render-from-template-context.js":{"id":43297,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":43297,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/dashboard/app/globals.css":{"id":13812,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/dashboard/components/AutoRefresh.tsx":{"id":84300,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/dashboard/components/CommandPalette.tsx":{"id":92198,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/dashboard/components/ui/Sidebar.tsx":{"id":63237,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/dashboard/components/ui/Toast.tsx":{"id":88554,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/node_modules/next-themes/dist/index.mjs":{"id":4595,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Manrope\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-sans\",\"display\":\"swap\"}],\"variableName\":\"manrope\"}":{"id":41600,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"JetBrains_Mono\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-mono\",\"display\":\"swap\"}],\"variableName\":\"jetbrainsMono\"}":{"id":55256,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","3185","static/chunks/app/layout-27a9da4610423c1e.js"],"async":false},"/home/dx/Work/hex/dashboard/app/changes/ChangesClient.tsx":{"id":71520,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","217","static/chunks/217-1d5b680ffd10e3f9.js","2374","static/chunks/2374-8c6f137938f8518a.js","7834","static/chunks/7834-47f318a04a05688f.js","5381","static/chunks/app/changes/page-f8a860034221cad4.js"],"async":false},"/home/dx/Work/hex/dashboard/components/ui/SplitView.tsx":{"id":81751,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","217","static/chunks/217-1d5b680ffd10e3f9.js","2374","static/chunks/2374-8c6f137938f8518a.js","7834","static/chunks/7834-47f318a04a05688f.js","5381","static/chunks/app/changes/page-f8a860034221cad4.js"],"async":false},"/home/dx/Work/hex/dashboard/app/issues/BoardClient.tsx":{"id":68916,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/dashboard/app/model/ModelClient.tsx":{"id":85581,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/dashboard/app/report/ReportClient.tsx":{"id":56902,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/dashboard/app/review/ReviewClient.tsx":{"id":52331,"name":"*","chunks":[],"async":false},"/home/dx/Work/hex/node_modules/next/dist/client/link.js":{"id":67498,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","1931","static/chunks/app/page-0e67750d99fb2836.js"],"async":false},"/home/dx/Work/hex/node_modules/next/dist/esm/client/link.js":{"id":67498,"name":"*","chunks":["7498","static/chunks/7498-7cf464d8af69cd0a.js","1931","static/chunks/app/page-0e67750d99fb2836.js"],"async":false}},"entryCSSFiles":{"/home/dx/Work/hex/dashboard/":[],"/home/dx/Work/hex/dashboard/app/layout":["static/css/ceafd91ca8dd753d.css"],"/home/dx/Work/hex/dashboard/app/page":[],"/home/dx/Work/hex/dashboard/app/changes/page":[]}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(()=>{var e={};e.id=824,e.ids=[824],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},7561:e=>{e.exports=require("node:fs")},9411:e=>{e.exports=require("node:path")},5309:(e,t,r)=>{let n;r.r(t),r.d(t,{originalPathname:()=>g,patchFetch:()=>q,requestAsyncStorage:()=>w,routeModule:()=>m,serverHooks:()=>v,staticGenerationAsyncStorage:()=>y});var a={};r.r(a),r.d(a,{GET:()=>h,dynamic:()=>f});var s=r(3277),o=r(5265),i=r(5356),u=r(7076),l=r(7561),p=r.n(l),d=r(9411),c=r.n(d);let f="force-dynamic",x={".woff2":"font/woff2",".woff":"font/woff",".ttf":"font/ttf"};async function h(e,{params:t}){let r=function(){if(void 0!==n)return n;n=null;try{let e="function"==typeof require?require:null,t=e?.resolve("@excalidraw/excalidraw");if(t){let e=c().dirname(t);p().existsSync(c().join(e,"fonts"))&&(n=e)}}catch{}return n}(),a=t.path.join("/");if(!r||!a.startsWith("fonts/")||a.includes(".."))return new u.NextResponse(null,{status:404});let s=c().join(r,a),o=x[c().extname(s)];if(!o||!s.startsWith(c().join(r,"fonts")+c().sep))return new u.NextResponse(null,{status:404});try{let e=p().readFileSync(s);return new u.NextResponse(new Uint8Array(e),{headers:{"Content-Type":o,"Cache-Control":"public, max-age=31536000, immutable"}})}catch{return new u.NextResponse(null,{status:404})}}let m=new s.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/excalidraw-assets/[...path]/route",pathname:"/excalidraw-assets/[...path]",filename:"route",bundlePath:"app/excalidraw-assets/[...path]/route"},resolvedPagePath:"/home/dx/Work/hex/dashboard/app/excalidraw-assets/[...path]/route.ts",nextConfigOutput:"",userland:a}),{requestAsyncStorage:w,staticGenerationAsyncStorage:y,serverHooks:v}=m,g="/excalidraw-assets/[...path]/route";function q(){return(0,i.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:y})}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[916,786],()=>r(5309));module.exports=n})();
|