hex-audit 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +137 -77
- package/DEMO.md +40 -117
- package/README.md +200 -402
- package/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/app-build-manifest.json +56 -101
- package/dashboard/.next/app-path-routes-manifest.json +1 -1
- package/dashboard/.next/build-manifest.json +9 -9
- package/dashboard/.next/next-server.js.nft.json +1 -1
- package/dashboard/.next/prerender-manifest.json +1 -1
- package/dashboard/.next/react-loadable-manifest.json +436 -15
- 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 -20
- package/dashboard/.next/server/app/changes/page.js.nft.json +1 -1
- package/dashboard/.next/server/app/changes/page_client-reference-manifest.js +1 -1
- 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/{access → 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 +19 -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/pages/500.html +1 -1
- package/dashboard/.next/server/pages/_error.js +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/chunks/0bbe10ee.8e7ffa06d2170dfe.js +84 -0
- package/dashboard/.next/static/chunks/1026.0ef689a305302427.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/1291.6c486c9b1d4b1b3a.js +1 -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/1e36816c.5748c83adc8a6bd6.js +108 -0
- package/dashboard/.next/static/chunks/2061.eab75b3c1dfa068a.js +1 -0
- package/dashboard/.next/static/chunks/2148.3ce718f62d1b2f7c.js +10 -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/2374-8c6f137938f8518a.js +1 -0
- package/dashboard/.next/static/chunks/2445.18a86507d2996b95.js +1 -0
- package/dashboard/.next/static/chunks/2712.15dd8577973baf22.js +10 -0
- package/dashboard/.next/static/chunks/2759.533dec5317e0a1d1.js +1 -0
- package/dashboard/.next/static/chunks/2812.62b213bef580b69a.js +1 -0
- 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/3206.8d9a10db2b04b93f.js +1 -0
- package/dashboard/.next/static/chunks/3485.36766504793b7237.js +9 -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/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/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/5112.0757c2b0c285e62e.js +1 -0
- package/dashboard/.next/static/chunks/5199.c83ea7efb0eec705.js +11 -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/5775.a0d7c1b1e89b9a93.js +9 -0
- 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/6853.d3ad43614e8ca0ab.js +1 -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/7107.1c5412197912b8ed.js +8 -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/7834-47f318a04a05688f.js +1 -0
- 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/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/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/9707.5cd7d2ee933a4af5.js +6 -0
- package/dashboard/.next/static/chunks/9716.15fffc0b0038601d.js +4 -0
- package/dashboard/.next/static/chunks/9791.e3b3f5a367f63c8a.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/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/c75e29e3.d91220f782934d80.js +1 -0
- package/dashboard/.next/static/chunks/{main-cc3a889b25e9aa68.js → main-9c95a7ffedc7afb4.js} +1 -1
- 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/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/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 +730 -356
- package/dashboard/app/changes/page.tsx +27 -19
- 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 +32 -17
- package/dashboard/app/model/ModelClient.tsx +1303 -0
- package/dashboard/app/model/page.tsx +98 -0
- package/dashboard/app/page.tsx +191 -277
- 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.map +1 -1
- package/dist/analysis/code-model.js +4 -1
- package/dist/analysis/code-model.js.map +1 -1
- package/dist/analysis/diff.d.ts +12 -1
- package/dist/analysis/diff.d.ts.map +1 -1
- package/dist/analysis/diff.js +143 -0
- package/dist/analysis/diff.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +17 -48
- 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 +4 -5
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +56 -17
- package/dist/commands/diff.js.map +1 -1
- 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 +51 -47
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/issue.d.ts.map +1 -1
- package/dist/commands/issue.js +151 -2
- 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 +31 -1
- 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.map +1 -1
- package/dist/core/config.js +0 -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 +0 -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 +7 -0
- package/dist/core/git.d.ts.map +1 -1
- package/dist/core/git.js +42 -0
- package/dist/core/git.js.map +1 -1
- package/dist/core/issues.d.ts +32 -1
- package/dist/core/issues.d.ts.map +1 -1
- package/dist/core/issues.js +135 -3
- 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 +2 -0
- package/dist/core/notes.d.ts.map +1 -1
- package/dist/core/notes.js +13 -3
- 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 +4817 -2245
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +452 -113
- 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/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 +14 -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/SKILL.md +16 -6
- package/dist/skills/ai-audit/UPSTREAM.md +9 -4
- package/dist/skills/ai-audit/references/hex-board.md +34 -46
- 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 +17 -5
- 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 +2 -2
- package/dist/skills/validate-finding.md +25 -24
- package/dist/skills/write-finding.md +6 -5
- package/dist/types/index.d.ts +16 -12
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +5 -4
- 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.js.nft.json +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/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/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/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/chunks/939.js +0 -1
- package/dashboard/.next/static/chunks/3017.4a5312e3c20a173f.js +0 -1
- package/dashboard/.next/static/chunks/7397-37adf76cad543297.js +0 -1
- package/dashboard/.next/static/chunks/7973.e34032723285a616.js +0 -79
- package/dashboard/.next/static/chunks/8452-6d77fa353402422c.js +0 -13
- package/dashboard/.next/static/chunks/8928-fc049decdfbdaa6d.js +0 -1
- package/dashboard/.next/static/chunks/app/access/page-f8403cbdfc1c176b.js +0 -1
- package/dashboard/.next/static/chunks/app/calls/page-41f20d01e12382ef.js +0 -1
- package/dashboard/.next/static/chunks/app/changes/page-82bf8b6f48cdc506.js +0 -1
- package/dashboard/.next/static/chunks/app/conformance/page-6bb8e3b372e38098.js +0 -1
- package/dashboard/.next/static/chunks/app/diagram/page-469cd7a6f183efba.js +0 -1
- package/dashboard/.next/static/chunks/app/flows/page-7872dd9141ba0b07.js +0 -1
- package/dashboard/.next/static/chunks/app/functions/page-5847bcb77a8e7edf.js +0 -1
- package/dashboard/.next/static/chunks/app/issues/page-1ffc64fe40439002.js +0 -1
- package/dashboard/.next/static/chunks/app/layout-6c6d2a0fd7c989d3.js +0 -1
- package/dashboard/.next/static/chunks/app/notes/page-8bcaa52304500098.js +0 -1
- package/dashboard/.next/static/chunks/app/page-d63800ddb072b77b.js +0 -1
- package/dashboard/.next/static/chunks/app/progress/page-e26554f655a62eef.js +0 -1
- package/dashboard/.next/static/chunks/app/report/page-18c04fb2f193b020.js +0 -1
- package/dashboard/.next/static/chunks/app/stats/page-67ff59fd69bed651.js +0 -1
- package/dashboard/.next/static/chunks/webpack-4de0e79bdd6a0418.js +0 -1
- package/dashboard/.next/static/css/1112cea2260b3926.css +0 -3
- 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 -813
- package/dashboard/app/notes/NotesClient.tsx +0 -706
- 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 -510
- 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 -386
- /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/{z5XBev05xDAkDrxWxAjNu → bGV1ry1vvIbM5b506eVBR}/_buildManifest.js +0 -0
- /package/dashboard/.next/static/{z5XBev05xDAkDrxWxAjNu → bGV1ry1vvIbM5b506eVBR}/_ssgManifest.js +0 -0
- /package/dashboard/.next/static/chunks/{3205-47d09be47325709f.js → 3205-fd963acf2fdfd080.js} +0 -0
- /package/dashboard/.next/static/chunks/{3924-88d849290406ee6f.js → 3924-f1f85ccc7d59d7ab.js} +0 -0
- /package/dashboard/.next/static/chunks/{618f8807-69fc7bb97c2b87c1.js → 618f8807-fbb1466bc29c17c6.js} +0 -0
- /package/dashboard/.next/static/chunks/{7498-d1814d68ba346d13.js → 7498-7cf464d8af69cd0a.js} +0 -0
- /package/dashboard/.next/static/chunks/app/_not-found/{page-c299b935209993df.js → page-5ff5d54b6fd6f17e.js} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";exports.id=310,exports.ids=[310],exports.modules={3478:(t,e,n)=>{n.d(e,{VK:()=>c,z$:()=>a});var r=n(7561),i=n.n(r),o=n(9411),s=n.n(o);function a(t){let e=function(t){try{return JSON.parse(i().readFileSync(t,"utf-8"))}catch{return null}}(s().join(t,"config.json"));return e?.project?.project_dir??s().dirname(t)}function c(t,e,n){let r=new Set,o=(e.root_cause?.locations??[]).map(t=>t.file),a=t=>t.split(/\r?\n/).map(t=>t.trim()).filter(t=>t.length>8&&!t.startsWith("//")&&"// ...."!==t),c=(e,o)=>{let a;try{a=i().readFileSync(s().join(n,e),"utf-8")}catch{return}let c=a.split(/\r?\n/);for(let n of o.slice(0,6)){let i=c.findIndex(t=>t.trim()===n||t.includes(n));if(i>=0)for(let n of function(t,e,n){return t.functions.filter(t=>t.file===e&&t.line_start<=n&&n<=t.line_end&&"modifier"!==t.kind)}(t,e,i+1))r.add(n.id)}};for(let t of e.root_cause?.locations??[])t.snippet&&c(t.file,a(t.snippet));let l=[...(e.description??"").matchAll(/```[a-z]*\n([\s\S]*?)```/g)].map(t=>t[1]);if(l.length){let e=o.length?[...new Set(o)]:[...new Set(t.functions.filter(t=>t.in_scope).map(t=>t.file))],n=l.flatMap(a);for(let t of e)c(t,n)}for(let n of new Set([...`${e.title??""}
|
|
2
|
+
${e.description??""}`.matchAll(/`([A-Za-z_][A-Za-z0-9_]*)\(/g)].map(t=>t[1])))for(let e of t.functions)e.name===n&&"modifier"!==e.kind&&(!o.length||o.includes(e.file))&&r.add(e.id);return[...r].sort()}n(3022)},5568:(t,e,n)=>{n.d(e,{BW:()=>m,Tl:()=>O,U6:()=>N,dh:()=>v,ed:()=>g,mQ:()=>k,pV:()=>y,sC:()=>f,wL:()=>$,yQ:()=>b});var r=n(7561),i=n.n(r),o=n(9411),s=n.n(o);let a={active_contract:null,contracts:[],sessions:[]};function c(t){return s().join(t,"notes")}function l(t){return t.replace(/[/\\:*?"<>|]/g,"_").trim()}function d(t){try{return i().readFileSync(t,"utf-8")}catch{return null}}function u(t,e){let n=s().dirname(t);i().existsSync(n)||i().mkdirSync(n,{recursive:!0});let r=t+".tmp";i().writeFileSync(r,e,"utf-8"),i().renameSync(r,t)}function f(t){let e=d(s().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){u(s().join(c(t),"notes.json"),JSON.stringify(e,null,2)+"\n")}function _(t,e){"general"===e||t.contracts.includes(e)||t.contracts.push(e)}function m(t,e,n){u("general"===e?s().join(c(t),"general.md"):s().join(c(t),"contracts",l(e)+".md"),n.endsWith("\n")?n:n+"\n");let r=f(t);_(r,e),p(t,r)}function g(t,e){let n=s().join("sessions",`${e.ts}.md`),r=`# Narration — ${e.contract} — ${e.ts}
|
|
3
|
+
|
|
4
|
+
`;return u(s().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,_(n,e.contract),p(t,n),r}(t,{file:n,contract:e.contract,ts:e.ts,audio:e.audio})}function h(t,e){return s().join(c(t),"contracts",l(e)+".json")}function S(t){return{contract:t,marked_done:!1,description:{purpose:[],inheritance:[],storage:[],roles:[],functions:[]},questions:[],leads:[],updated_at:new Date().toISOString()}}function w(t){return Array.isArray(t)?t:[]}function y(t,e){let n=d(h(t,e));if(!n)return S(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:w(r.purpose),inheritance:w(r.inheritance),storage:w(r.storage),roles:w(r.roles),functions:w(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:w(t.notes),warnings:w(t.warnings)}})},questions:w(t.questions),leads:w(t.leads),updated_at:t.updated_at??new Date().toISOString()}}catch{return S(e)}}function j(t,e,n){let r={...n,contract:e,updated_at:new Date().toISOString()};u(h(t,e),JSON.stringify(r,null,2)+"\n");let i=f(t);_(i,e),p(t,i)}function $(t,e,n){let r=y(t,e);return r.marked_done=n,j(t,e,r),r}function v(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,i){let o=y(t,e),s=o.leads.find(t=>t.id===n);if(!s)throw Error(`No lead ${n} on ${e}`);return s.status=r,i&&(s.ref=i),j(t,e,o),o}function k(t,e,n){let r=y(t,e),i=r.leads.find(t=>t.id===n);if(!i)throw Error(`No lead ${n} on ${e}`);return i.status="open",delete i.ref,j(t,e,r),r}function O(t,e,n,r){let i=y(t,e),o=i.questions.find(t=>t.id===n);if(!o)throw Error(`No question ${n} on ${e}`);return o.answer=r,j(t,e,i),i}function b(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}}},1310:(t,e,n)=>{n.d(e,{Ht:()=>m,LV:()=>f,Pp:()=>u,cE:()=>l,hC:()=>h,t9:()=>p});var r=n(7561),i=n.n(r),o=n(9411),s=n.n(o),a=n(5568),c=n(3478);let l=["unread","read","questioned","cleared"];function d(t){return s().join(t,"progress.json")}function u(t){try{let e=JSON.parse(i().readFileSync(d(t),"utf-8"));return{updated_at:e.updated_at??new Date().toISOString(),reviewed_contracts:e.reviewed_contracts??{},diane_reviewed:e.diane_reviewed??{},functions:e.functions??{}}}catch{return{updated_at:new Date().toISOString(),reviewed_contracts:{},diane_reviewed:{},functions:{}}}}function f(t,e){let n={...e,updated_at:new Date().toISOString()},r=d(t),o=r+".tmp";i().writeFileSync(o,JSON.stringify(n,null,2)+"\n","utf-8"),i().renameSync(o,r)}function p(t,e){let n=(0,a.pV)(t,e),r=(0,a.yQ)(n).reviewed,o=function(t,e,n){let r=e.replace(/\.sol$/i,"");try{let n=JSON.parse(i().readFileSync(s().join(t,"stats.json"),"utf-8")).per_contract??[],o=n.find(t=>t.contract===e||t.contract===r),a=n.find(t=>s().basename(t.file).replace(/\.sol$/i,"")===r),c=o??a;if(c)return`${c.file}::${c.contract}`}catch{}return n?`${n}::${r}`:`${e}::${r}`}(t,e,n.file),c=u(t);return c.diane_reviewed={...c.diane_reviewed??{},[o]:r},f(t,c),r}function _(t){try{return JSON.parse(i().readFileSync(t,"utf-8"))}catch{return null}}function m(t,e,n,r="auditor",i){let o=u(t),s={...o.functions??{}},a=new Date().toISOString();for(let t of e)"unread"===n?delete s[t]:s[t]={state:n,by:r,updated_at:a,...i?{note:i}:{}};return f(t,{...o,functions:s}),{...o,functions:s}}let g=t=>t.toLowerCase().replace(/[^a-z0-9]+/g,"-");function h(t,e={}){let n=_(s().join(t,"facts.json"));if(!n)return{facts_source:null,total_nsloc:0,cleared_nsloc:0,pct:0,counts:{unread:0,read:0,questioned:0,cleared:0},rows:[],blind_spots:[]};let r=u(t),o=_(s().join(t,"model","protocol.json")),a=_(s().join(t,"diff.json")),l=_(s().join(t,"findings.json"))?.findings??[],d=new Set((_(s().join(t,"tracking.json"))?.findings??[]).filter(t=>"duplicate"!==t.status&&"rejected"!==t.status).map(t=>t.id)),f=(0,c.z$)(t),p=new Map;for(let t of l)if(d.has(t.id))for(let e of(0,c.VK)(n,t,f))p.set(e,[...p.get(e)??[],t.id]);let m=new Set((o?.assets??[]).flatMap(t=>t.moved_by)),h=new Set((o?.privileges??[]).map(t=>t.function)),S=new Set((o?.accounting??[]).flatMap(t=>t.terms.flatMap(t=>t.updated_by.map(t=>t.function)))),w=new Map((a?.impacted??[]).map(t=>[`${t.contract}.${t.function}`,t.depth])),y=function(t){let e=new Set,n=s().join(t,"ai-audit","runs");try{for(let t of i().readdirSync(n)){let r=s().join(n,t,"winners.tsv");if(i().existsSync(r))for(let t of i().readFileSync(r,"utf-8").split("\n")){let n=t.split(" ")[1];if(!n)continue;let[r,i]=n.split("|");e.add(`${r}|${i}`)}}}catch{}return e}(t),j=[];for(let t of function(t){let e=new Set(t.contracts.filter(t=>"interface"===t.kind).map(t=>t.name));return t.functions.filter(t=>t.in_scope&&!e.has(t.contract)&&t.nsloc>0)}(n)){let e=[],n=0,i=(t,r)=>{n+=t,e.push(r)};t.is_entry_point&&i(10,"entry point");let o=t.external_calls.filter(t=>"low_level"===t.kind||"transfer"===t.kind||/transfer|send|mint|burn/i.test(t.member));(m.has(t.id)||o.length)&&i(25,"moves value"),S.has(t.id)&&i(20,"updates accounting"),t.external_calls.length&&!o.length&&i(10,"external calls"),h.has(t.id)&&i(8,"privileged"),t.writes.length>=3&&i(7,`writes ${t.writes.length} state vars`),n+=Math.min(15,Math.round(t.nsloc/3));let s=w.get(t.id);0===s?i(20,"changed"):void 0!==s&&i(10,"impacted by change");let a=p.get(t.id)??[];a.length&&i(5,`${a.length} card${a.length>1?"s":""}`);let c=r.functions?.[t.id];j.push({id:t.id,contract:t.contract,name:t.name,file:t.file,line_start:t.line_start,line_end:t.line_end,nsloc:t.nsloc,is_entry_point:t.is_entry_point,state:c?.state??"unread",...c?{by:c.by,updated_at:c.updated_at,...c.note?{note:c.note}:{}}:{},risk:Math.min(100,n),risk_reasons:e,ai_seen:y.has(`${g(t.contract)}|${g(t.name)}`),cards:a,...void 0!==s?{diff_depth:s}:{}})}j.sort((t,e)=>t.contract.localeCompare(e.contract)||t.line_start-e.line_start);let $=j.reduce((t,e)=>t+e.nsloc,0),v=j.filter(t=>"cleared"===t.state).reduce((t,e)=>t+e.nsloc,0),N={unread:0,read:0,questioned:0,cleared:0};for(let t of j)N[t.state]++;let k=j.filter(t=>"unread"===t.state||"read"===t.state).sort((t,e)=>Number("unread"!==t.state)-Number("unread"!==e.state)||Number(t.ai_seen)-Number(e.ai_seen)||e.risk-t.risk).slice(0,e.blindSpots??10);return{facts_source:n.source,total_nsloc:$,cleared_nsloc:v,pct:$?Math.round(100*v/$):0,counts:N,rows:j,blind_spots:k}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=370,exports.ids=[370],exports.modules={6924:(e,t,r)=>{Promise.resolve().then(r.bind(r,9939)),Promise.resolve().then(r.bind(r,9915)),Promise.resolve().then(r.bind(r,281)),Promise.resolve().then(r.bind(r,1352)),Promise.resolve().then(r.bind(r,1388))},1991:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,3817,23)),Promise.resolve().then(r.t.bind(r,9323,23)),Promise.resolve().then(r.t.bind(r,2204,23)),Promise.resolve().then(r.t.bind(r,820,23)),Promise.resolve().then(r.t.bind(r,5915,23)),Promise.resolve().then(r.t.bind(r,1611,23))},9939:(e,t,r)=>{"use strict";r.d(t,{AutoRefresh:()=>s});var n=r(5507),a=r(6153);function s(){return(0,a.useRouter)(),(0,n.useRef)(null),null}r(1474)},9915:(e,t,r)=>{"use strict";r.d(t,{CommandPalette:()=>u});var n=r(9899),a=r(5507),s=r(6153),i=r(281),o=r(5119),l=r(5125),c=r(1593);let d={page:"Page",function:"Function",contract:"Contract",card:"Card",invariant:"Invariant",diagram:"Diagram"};function u({showChanges:e}){let[t,r]=(0,a.useState)(!1),[u,x]=(0,a.useState)(""),[h,p]=(0,a.useState)(0),[m,f]=(0,a.useState)([]),b=(0,a.useRef)(null),v=(0,a.useRef)(null),g=(0,s.useRouter)(),y=(0,a.useMemo)(()=>i.w.filter(t=>e||!t.changesOnly).map(e=>({kind:"page",label:e.label,href:e.href})),[e]);(0,a.useCallback)(()=>{r(!0),x(""),p(0),fetch("/api/palette",{cache:"no-store"}).then(e=>e.ok?e.json():{entries:[]}).then(e=>f(e.entries??[])).catch(()=>f([]))},[]);let j=(0,a.useMemo)(()=>{let e=u.trim().toLowerCase().split(/\s+/).filter(Boolean);return e.length?[...y,...m].map(t=>({e:t,s:function(e,t){let r=e.label.toLowerCase(),n=`${r} ${(e.detail??"").toLowerCase()}`;if(!t.every(e=>n.includes(e)))return -1;let a=t[0],s=0;return r.startsWith(a)?s+=30:RegExp(`(^|[^a-z0-9])${a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}`).test(r)?s+=20:r.includes(a)&&(s+=10),"page"===e.kind&&(s+=8),s-r.length/100}(t,e)})).filter(e=>e.s>=0).sort((e,t)=>t.s-e.s).slice(0,40).map(e=>e.e):[...y,...m.filter(e=>"diagram"===e.kind||"contract"===e.kind)].slice(0,30)},[u,y,m]),w=e=>{r(!1),g.push(e.href)};return t?n.jsx("div",{"data-hex-palette":!0,className:"fade-in fixed inset-0 z-[9000] flex items-start justify-center px-4 pt-[14vh]",style:{background:"var(--overlay-bg)"},onClick:()=>r(!1),children:(0,n.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Go to anything",className:"rise-in w-full max-w-xl overflow-hidden rounded-lg border border-border-default bg-surface-1 shadow-lg",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-center gap-3 border-b border-border-subtle px-4",children:[n.jsx(o.jV,{className:"h-4 w-4 shrink-0 text-text-tertiary"}),n.jsx("input",{ref:b,type:"text",value:u,onChange:e=>x(e.target.value),placeholder:"Go to a page, function, card, invariant…","aria-label":"Search",className:"h-12 flex-1 bg-transparent text-body text-text-primary placeholder:text-text-tertiary focus:outline-none",onKeyDown:e=>{"ArrowDown"===e.key||"n"===e.key&&e.ctrlKey?(e.preventDefault(),p(e=>Math.min(e+1,j.length-1))):"ArrowUp"===e.key||"p"===e.key&&e.ctrlKey?(e.preventDefault(),p(e=>Math.max(e-1,0))):"Enter"===e.key&&j[h]?(e.preventDefault(),w(j[h])):"Escape"===e.key?(e.preventDefault(),r(!1)):"Tab"===e.key&&e.preventDefault()}}),n.jsx(l.T,{children:"esc"})]}),n.jsx("div",{ref:v,className:"max-h-[52vh] overflow-y-auto p-1.5",role:"listbox",children:0===j.length?n.jsx("div",{className:"px-3 py-6 text-center text-body text-text-tertiary",children:"No matches"}):j.map((e,t)=>(0,n.jsxs)("button",{type:"button",role:"option","aria-selected":t===h,"data-index":t,onMouseMove:()=>p(t),onClick:()=>w(e),className:(0,c.cn)("flex w-full items-center gap-3 rounded-md px-3 py-2 text-left",t===h?"bg-accent-subtle":""),children:[(0,n.jsxs)("span",{className:"min-w-0 flex-1",children:[n.jsx("span",{className:(0,c.cn)("block truncate text-body",t===h?"text-accent":"text-text-primary"),children:e.label}),e.detail&&n.jsx("span",{className:"block truncate text-caption text-text-tertiary",children:e.detail})]}),n.jsx("span",{className:"shrink-0 text-caption text-text-tertiary",children:d[e.kind]})]},`${e.kind}:${e.href}:${t}`))})]})}):null}},5119:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>v,C9:()=>f,NO:()=>b,O3:()=>m,UH:()=>s,VU:()=>d,bM:()=>x,dc:()=>g,g6:()=>h,jV:()=>u,lE:()=>p,oG:()=>y,ui:()=>o,ve:()=>c,vv:()=>i,yK:()=>l});var n=r(9899);function a({children:e,...t}){return n.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",...t,children:e})}let s=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("circle",{cx:"12",cy:"12",r:"8.25"}),n.jsx("path",{d:"M12 7.5V12l3 2"})]}),i=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("rect",{x:"3.75",y:"3.75",width:"6.5",height:"6.5",rx:"1.5"}),n.jsx("rect",{x:"13.75",y:"13.75",width:"6.5",height:"6.5",rx:"1.5"}),n.jsx("path",{d:"M10.25 7h3.5a3 3 0 0 1 3 3v3.75"})]}),o=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("path",{d:"M6.75 3.75h7.5l4.5 4.5v11.25a.75.75 0 0 1-.75.75H6.75a.75.75 0 0 1-.75-.75V4.5a.75.75 0 0 1 .75-.75Z"}),n.jsx("path",{d:"M9 13.5l2 2 4-4.5"})]}),l=e=>n.jsx(a,{...e,children:n.jsx("path",{d:"M7.5 20.25 3.75 16.5 7.5 12.75M3.75 16.5h12M16.5 3.75l3.75 3.75-3.75 3.75M20.25 7.5h-12"})}),c=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("rect",{x:"3.75",y:"4.5",width:"4.5",height:"15",rx:"1.25"}),n.jsx("rect",{x:"9.75",y:"4.5",width:"4.5",height:"10",rx:"1.25"}),n.jsx("rect",{x:"15.75",y:"4.5",width:"4.5",height:"12.5",rx:"1.25"})]}),d=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("path",{d:"M6.75 3.75h10.5a.75.75 0 0 1 .75.75v15a.75.75 0 0 1-.75.75H6.75a.75.75 0 0 1-.75-.75v-15a.75.75 0 0 1 .75-.75Z"}),n.jsx("path",{d:"M9 8.25h6M9 11.25h6M9 14.25h3.75"})]}),u=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("circle",{cx:"10.5",cy:"10.5",r:"6"}),n.jsx("path",{d:"m15 15 5.25 5.25"})]}),x=e=>n.jsx(a,{...e,children:n.jsx("path",{d:"M6 6l12 12M18 6 6 18"})}),h=e=>n.jsx(a,{...e,children:n.jsx("path",{d:"m9 5.25 6.75 6.75L9 18.75"})}),p=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("rect",{x:"9",y:"3",width:"6",height:"11.25",rx:"3"}),n.jsx("path",{d:"M5.25 11.25a6.75 6.75 0 0 0 13.5 0M12 18v3"})]}),m=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("circle",{cx:"12",cy:"12",r:"3.75"}),n.jsx("path",{d:"M12 3v1.5M12 19.5V21M3 12h1.5M19.5 12H21M5.6 5.6l1.06 1.06M17.34 17.34l1.06 1.06M5.6 18.4l1.06-1.06M17.34 6.66l1.06-1.06"})]}),f=e=>n.jsx(a,{...e,children:n.jsx("path",{d:"M20.25 14.6A8.25 8.25 0 0 1 9.4 3.75a8.25 8.25 0 1 0 10.85 10.85Z"})}),b=e=>n.jsx(a,{...e,children:n.jsx("path",{d:"m5.25 12.75 4.5 4.5 9-10.5"})}),v=e=>n.jsx(a,{...e,children:n.jsx("path",{d:"M13.5 4.5h6v6M19.5 4.5 11.25 12.75M17.25 13.5v5.25a.75.75 0 0 1-.75.75H5.25a.75.75 0 0 1-.75-.75V7.5a.75.75 0 0 1 .75-.75h5.25"})}),g=e=>n.jsx(a,{...e,children:n.jsx("path",{d:"M3.75 7.5h16.5M3.75 12h16.5M3.75 16.5h16.5"})}),y=e=>(0,n.jsxs)(a,{...e,children:[n.jsx("rect",{x:"3.75",y:"4.5",width:"16.5",height:"15",rx:"2.25"}),n.jsx("path",{d:"M9.75 4.5v15"})]})},5125:(e,t,r)=>{"use strict";r.d(t,{T:()=>s});var n=r(9899),a=r(1593);function s({children:e,className:t}){return n.jsx("kbd",{className:(0,a.cn)("inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-[5px] border border-border-default bg-surface-2 px-1 font-sans text-[11px] leading-none text-text-tertiary",t),children:e})}},1781:(e,t,r)=>{"use strict";r.d(t,{O:()=>i});var n=r(9899),a=r(8052),s=r(1593);function i({name:e,edge:t,min:r,max:i,className:o}){let l=e=>Math.min(i,Math.max(r,e)),c=()=>window.dispatchEvent(new Event("resize"));return n.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize pane",tabIndex:0,title:"Drag to resize \xb7 double-click to reset",onPointerDown:r=>{let n=r.currentTarget.parentElement;if(!n||0!==r.button)return;r.preventDefault();let s=r.currentTarget,i=r.clientX,o=n.getBoundingClientRect().width,d=o;s.setPointerCapture(r.pointerId),document.body.classList.add("is-resizing");let u=r=>{let n=r.clientX-i;d=l("right"===t?o+n:o-n),(0,a.vv)(e,d)},x=()=>{s.removeEventListener("pointermove",u),s.removeEventListener("pointerup",x),s.removeEventListener("pointercancel",x),document.body.classList.remove("is-resizing"),Math.round(d)!==Math.round(o)&&(0,a.j5)(e,d),c()};s.addEventListener("pointermove",u),s.addEventListener("pointerup",x),s.addEventListener("pointercancel",x)},onDoubleClick:()=>{(0,a.vv)(e,null),(0,a.j5)(e,null),c()},onKeyDown:r=>{if("ArrowLeft"!==r.key&&"ArrowRight"!==r.key)return;let n=r.currentTarget.parentElement;if(!n)return;r.preventDefault();let s="ArrowRight"===r.key==("right"===t),i=l(n.getBoundingClientRect().width+(s?16:-16));(0,a.vv)(e,i),(0,a.j5)(e,i),c()},className:(0,s.cn)("group/resize absolute inset-y-0 z-20 w-2 cursor-col-resize touch-none focus-visible:outline-none","right"===t?"-right-1":"-left-1",o),children:n.jsx("span",{className:"mx-auto block h-full w-px transition-colors duration-200 group-hover/resize:bg-border-emphasis group-focus-visible/resize:bg-border-emphasis"})})}},281:(e,t,r)=>{"use strict";r.d(t,{w:()=>f,Sidebar:()=>v});var n=r(9899),a=r(4175),s=r(6153),i=r(1388),o=r(5507),l=r(1593),c=r(1474);function d(e,t){let r=Math.round((t-e)/1e3);return r<10?"just now":r<60?`${r}s ago`:r<3600?`${Math.round(r/60)}m ago`:`${Math.round(r/3600)}h ago`}function u(){let e=(0,c.g)(),[t,r]=(0,o.useState)(()=>Date.now()),[a,s]=(0,o.useState)(null);return(0,n.jsxs)("div",{className:"space-y-1 px-2.5 text-caption text-text-tertiary","aria-live":"polite",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",title:e.lastFile?`Last change: ${e.lastFile}`:void 0,children:[n.jsx("span",{"aria-hidden":"true",className:"h-1.5 w-1.5 shrink-0 rounded-full",style:{background:e.connected?"var(--success)":"var(--medium)"}}),n.jsx("span",{children:e.connected?`Live \xb7 updated ${d(e.lastUpdate,t)}`:"Reconnecting…"})]}),a&&(0,n.jsxs)("div",{className:"flex items-center gap-2",title:`GitHub sync with ${a.repo}`,children:[n.jsx("span",{"aria-hidden":"true",className:"h-1.5 w-1.5 shrink-0 rounded-full bg-text-tertiary"}),(0,n.jsxs)("span",{children:["GitHub synced ",d(Date.parse(a.last_synced_at),t)]})]})]})}var x=r(5119),h=r(5125),p=r(1781),m=r(8052);let f=[{href:"/",label:"Today",icon:x.UH},{href:"/model",label:"Model",icon:x.vv},{href:"/review",label:"Review",icon:x.ui},{href:"/changes",label:"Changes",icon:x.yK,changesOnly:!0},{href:"/issues",label:"Board",icon:x.ve},{href:"/report",label:"Report",icon:x.VU}];function b(){let{resolvedTheme:e,setTheme:t}=(0,i.F)(),[r,a]=(0,o.useState)(!1),s=!r||"light"!==e;return n.jsx("button",{type:"button",onClick:()=>t(s?"light":"dark"),"aria-label":`Switch to ${s?"light":"dark"} appearance`,title:`Switch to ${s?"light":"dark"} appearance`,className:"rounded-md p-1.5 text-text-tertiary hover:bg-surface-2 hover:text-text-primary",children:s?n.jsx(x.C9,{className:"h-4 w-4"}):n.jsx(x.O3,{className:"h-4 w-4"})})}function v({projectName:e,version:t,showChanges:r}){let i=(0,s.usePathname)(),[c,d]=(0,o.useState)(!1),[v,g]=(0,o.useState)(!1),y=v&&!c;return(0,n.jsxs)(n.Fragment,{children:[n.jsx("button",{type:"button","aria-label":"Toggle navigation",onClick:()=>d(e=>!e),className:"fixed left-3 top-3 z-[60] flex h-9 w-9 items-center justify-center rounded-md border border-border-subtle bg-surface-1 text-text-secondary md:hidden",children:n.jsx(x.dc,{className:"h-5 w-5"})}),c&&n.jsx("div",{className:"fade-in fixed inset-0 z-40 md:hidden",style:{background:"var(--overlay-bg)"},onClick:()=>d(!1)}),(0,n.jsxs)("nav",{"aria-label":"Main navigation",className:(0,l.cn)("fixed left-0 top-0 z-50 flex h-screen w-[220px] flex-col border-r border-border-subtle bg-surface-1 transition-[transform,width] duration-200 ease-out md:w-[var(--sidebar-w,220px)] md:translate-x-0",c?"translate-x-0":"-translate-x-full"),children:[(0,n.jsxs)("div",{className:(0,l.cn)("flex items-start gap-2 pb-5 pt-5",y?"justify-center px-2":"px-5"),children:[!y&&(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex items-baseline gap-2",children:[n.jsx("span",{className:"text-heading font-semibold tracking-tight text-text-primary",children:"Hex"}),n.jsx("span",{className:"text-caption text-text-tertiary",children:t})]}),e&&n.jsx("div",{className:"mt-0.5 truncate text-caption text-text-secondary",children:e})]}),n.jsx("button",{type:"button",onClick:()=>g(e=>{try{localStorage.setItem(m.pA,e?"expanded":"collapsed")}catch{}return!e}),"aria-label":v?"Show sidebar":"Hide sidebar",title:`${v?"Show":"Hide"} sidebar (⌘\\)`,className:"-mr-1 hidden rounded-md p-1.5 text-text-tertiary hover:bg-surface-2 hover:text-text-primary md:block",children:n.jsx(x.oG,{className:"h-4 w-4"})})]}),n.jsx("div",{className:(0,l.cn)("flex-1 space-y-0.5 overflow-y-auto",y?"px-2":"px-3"),children:f.filter(e=>r||!e.changesOnly).map(e=>{var t;let r="/"===(t=e.href)?"/"===i:i===t||i.startsWith(t+"/");return(0,n.jsxs)(a.default,{href:e.href,title:y?e.label:void 0,"aria-current":r?"page":void 0,className:(0,l.cn)("flex h-8 items-center gap-2.5 rounded-md text-body",y?"justify-center px-0":"px-2.5",r?"bg-accent-subtle font-medium text-accent":"text-text-secondary hover:bg-surface-2 hover:text-text-primary"),children:[n.jsx(e.icon,{className:"h-4 w-4 shrink-0"}),!y&&n.jsx("span",{children:e.label}),y&&n.jsx("span",{className:"sr-only",children:e.label})]},e.href)})}),y?(0,n.jsxs)("div",{className:"flex flex-col items-center gap-2 border-t border-border-subtle py-3",children:[n.jsx("button",{type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("hex:palette")),title:"Go to anything (⌘K)",className:"rounded-md p-1.5 text-text-tertiary hover:bg-surface-2 hover:text-text-primary",children:n.jsx(h.T,{children:"⌘K"})}),n.jsx(b,{})]}):(0,n.jsxs)("div",{className:"space-y-3 border-t border-border-subtle px-3 py-3",children:[n.jsx(u,{}),(0,n.jsxs)("div",{className:"flex items-center justify-between px-1",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("hex:palette")),className:"flex items-center gap-2 rounded-md px-1.5 py-1 text-caption text-text-tertiary hover:bg-surface-2 hover:text-text-primary",children:[n.jsx(h.T,{children:"⌘K"}),n.jsx("span",{children:"Go to anything"})]}),n.jsx(b,{})]})]}),!y&&n.jsx(p.O,{name:"sidebar",edge:"right",min:180,max:360,className:"hidden md:block"})]})]})}},1352:(e,t,r)=>{"use strict";r.d(t,{ToastProvider:()=>l,p:()=>o});var n=r(9899),a=r(5507),s=r(5119);let i=(0,a.createContext)(()=>{});function o(){return(0,a.useContext)(i)}function l({children:e}){let[t,r]=(0,a.useState)(null),o=(0,a.useRef)(null),l=(0,a.useRef)(0),c=(0,a.useCallback)(()=>{o.current&&clearTimeout(o.current),r(null)},[]),d=(0,a.useCallback)(e=>{o.current&&clearTimeout(o.current),l.current+=1,r({...e,id:l.current}),o.current=setTimeout(()=>r(null),e.action?6e3:3500)},[]);return(0,n.jsxs)(i.Provider,{value:d,children:[e,n.jsx("div",{"aria-live":"polite",className:"pointer-events-none fixed inset-x-0 bottom-6 z-[9500] flex justify-center px-4",children:t&&(0,n.jsxs)("div",{role:"status",className:"rise-in pointer-events-auto flex items-center gap-3 rounded-lg border border-border-default bg-surface-1 py-2 pl-4 pr-2 text-body shadow-lg",children:[n.jsx("span",{className:"error"===t.tone?"text-[var(--critical)]":"text-text-primary",children:t.message}),t.action&&n.jsx("button",{type:"button",onClick:()=>{t.action?.onClick(),c()},className:"rounded-md px-2 py-0.5 text-body font-medium text-accent hover:bg-accent-subtle",children:t.action.label}),n.jsx("button",{type:"button","aria-label":"Dismiss",onClick:c,className:"rounded-md p-1 text-text-tertiary hover:bg-surface-2 hover:text-text-primary",children:n.jsx(s.bM,{className:"h-3.5 w-3.5"})})]},t.id)})]})}},1593:(e,t,r)=>{"use strict";function n(...e){return e.filter(Boolean).join(" ")}r.d(t,{cn:()=>n})},1474:(e,t,r)=>{"use strict";r.d(t,{g:()=>i});var n=r(5507);let a={connected:!1,lastUpdate:Date.now(),lastFile:null},s=new Set;function i(){return(0,n.useSyncExternalStore)(e=>(s.add(e),()=>s.delete(e)),()=>a,()=>a)}},8052:(e,t,r)=>{"use strict";r.d(t,{j5:()=>s,pA:()=>n,vv:()=>a});let n="hex.sidebar";function a(e,t){let r=document.documentElement.style;null===t?r.removeProperty(`--w-${e}`):r.setProperty(`--w-${e}`,`${Math.round(t)}px`)}function s(e,t){try{null===t?localStorage.removeItem(`hex.w.${e}`):localStorage.setItem(`hex.w.${e}`,String(Math.round(t)))}catch{}}},7415:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>_,dynamic:()=>D,metadata:()=>E});var n=r(5023),a=r(2769),s=r.n(a),i=r(876),o=r.n(i),l=r(7305),c=r(2772);let d=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/Sidebar.tsx`),{__esModule:u,$$typeof:x}=d;d.default,(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/Sidebar.tsx#NAV`),(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/Sidebar.tsx#isActive`);let h=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/Sidebar.tsx#Sidebar`),p=()=>f+m,m="try{document.documentElement.style.setProperty('--sidebar-w',localStorage.getItem('hex.sidebar')==='collapsed'?'60px':'var(--w-sidebar, 220px)')}catch(e){}",f="try{for(var i=0;i<localStorage.length;i++){var k=localStorage.key(i);if(k&&k.indexOf('hex.w.')===0){var v=parseInt(localStorage.getItem(k)||'',10);if(v>0)document.documentElement.style.setProperty('--w-'+k.slice(6),v+'px')}}}catch(e){}",b=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/Toast.tsx`),{__esModule:v,$$typeof:g}=b;b.default,(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/Toast.tsx#useToast`);let y=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/Toast.tsx#ToastProvider`),j=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/CommandPalette.tsx`),{__esModule:w,$$typeof:k}=j;j.default;let N=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/CommandPalette.tsx#CommandPalette`),M=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/AutoRefresh.tsx`),{__esModule:S,$$typeof:C}=M;M.default;let P=(0,c.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/AutoRefresh.tsx#AutoRefresh`),$={i8:"0.8.0"};var R=r(1720),T=r(6905);r(642);let E={title:"Hex",description:"A calm review workspace for Solidity audits"},D="force-dynamic";function _({children:e}){let t=(0,R.gn)("config.json"),r=t?.project?.mode==="diff"||null!==(0,T.Rd)();return n.jsx("html",{lang:"en",suppressHydrationWarning:!0,children:(0,n.jsxs)("body",{className:`${s().variable} ${o().variable} h-full bg-surface-0 font-sans text-text-primary`,children:[n.jsx("script",{dangerouslySetInnerHTML:{__html:p()}}),n.jsx(l.f,{attribute:"data-theme",defaultTheme:"dark",enableSystem:!1,children:(0,n.jsxs)(y,{children:[n.jsx(P,{}),n.jsx(N,{showChanges:r}),n.jsx(h,{projectName:t?.project?.name??null,version:$.i8,showChanges:r}),n.jsx("main",{className:"h-screen overflow-hidden bg-surface-0 transition-[margin] duration-200 ease-out md:ml-[var(--sidebar-w,220px)]",children:e})]})})]})})}},6905:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>f,G2:()=>x,Ge:()=>m,QR:()=>g,Rd:()=>y,TS:()=>v,WV:()=>u,cA:()=>p,eT:()=>b,zi:()=>h});var n=r(7561),a=r.n(n),s=r(9411),i=r.n(s),o=r(1720),l=r(1310),c=r(6700),d=r(5568);function u(){return(0,o.ZN)()}function x(){return i().dirname(u())}function h(){return(0,o.gn)("config.json")}function p(){return h()?.project?.mode==="diff"}function m(){return(0,c.Je)(u())}function f(e=10){return(0,l.hC)(u(),{blindSpots:e})}function b(e){let t=u(),r=(0,d.dh)(t,e),n=(0,d.pV)(t,r);return{target:r,contract:e,marked_done:n.marked_done,purpose:n.description.purpose,functions:n.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:n.questions,leads:n.leads}}function v(){return(0,d.sC)(u()).sessions.filter(e=>!e.processed).length}function g(){try{return a().readFileSync(i().join(u(),"notes","general.md"),"utf-8")}catch{return""}}function y(){let e=i().join(u(),"fix-review"),t=null;try{for(let r of a().readdirSync(e))if(r.endsWith(".json"))try{let n=JSON.parse(a().readFileSync(i().join(e,r),"utf-8"));(!t||Date.parse(n.generated_at)>Date.parse(t.generated_at))&&(t=n)}catch{}}catch{return null}return t}},6700:(e,t,r)=>{"use strict";r.d(t,{DO:()=>d,Je:()=>o,V7:()=>c,fY:()=>u});var n=r(7561),a=r.n(n),s=r(9411),i=r.n(s);function o(e){try{return JSON.parse(a().readFileSync(i().join(e,"facts.json"),"utf-8"))}catch{return null}}function l(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 r=new Set(l(e,t));return e.functions.filter(e=>e.reads.some(e=>r.has(e))).map(e=>e.id)}function d(e,t){let r=new Set(l(e,t));return e.functions.filter(e=>e.writes.some(e=>r.has(e))).map(e=>e.id)}function u(e,t){let r=new Map(e.functions.map(e=>[e.id,e])),n=[];for(let a of function(e,t){let r=e.functions.filter(e=>e.id===t);if(r.length)return r;let n=t.indexOf("."),a=t.indexOf("(");if(n>0&&(-1===a||n<a)){let r=t.slice(0,n),a=t.slice(n+1),s=a.includes("(")?null:a;return e.functions.filter(e=>e.contract===r&&(s?e.name===s:e.signature===a))}let s=a>0?t.slice(0,a):t;return e.functions.filter(e=>e.name===s||e.signature===t)}(e,t))for(let e of a.called_by){let t=r.get(e.from)?.file??"";for(let r of e.at?.length?e.at:[void 0])n.push({from:e.from,kind:e.kind,file:t,...r?{line:r}:{}})}return n.sort((e,t)=>e.file.localeCompare(t.file)||(e.line??0)-(t.line??0)||e.from.localeCompare(t.from))}},642:()=>{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=42,exports.ids=[42],exports.modules={1720:(e,t,n)=>{n.d(t,{
|
|
1
|
+
"use strict";exports.id=42,exports.ids=[42],exports.modules={1720:(e,t,n)=>{n.d(t,{ZN:()=>f,J1:()=>p,gn:()=>a,ws:()=>d,V9:()=>g});var i=n(7561),r=n.n(i),o=n(9411),s=n.n(o);let l=[".hex",".solaudit","solaudit-output"];function u(e){return e.replace(/\\/g,"/")}function c(){try{let e=function(e=process.cwd()){let t=s().resolve(e);for(;;){let e=function(e){for(let t of[...l.map(t=>s().join(e,t,"config.json")),s().join(e,"config.json")])if(r().existsSync(t))return u(t);return null}(t);if(e)return u(s().dirname(e));let n=s().dirname(t);if(n===t)return null;t=n}}(process.cwd());if(e)return e}catch{}return s().join(process.cwd(),".hex")}function a(e){try{let t=s().join(c(),e),n=r().readFileSync(t,"utf-8");return JSON.parse(n)}catch{return null}}function d(e){try{let t=s().join(c(),e);return r().readFileSync(t,"utf-8")}catch{return null}}function f(){return c()}function p(e){try{let t=s().join(c(),e);if(!r().existsSync(t))return[];return r().readdirSync(t,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}function g(e){try{let t=s().join(c(),e),n=r().readFileSync(t,"utf-8");return JSON.parse(n)}catch{return null}}},3022:(e,t,n)=>{n.d(t,{EZ:()=>_,SG:()=>c,wl:()=>v,zt:()=>S});var i=n(7561),r=n.n(i),o=n(9411),s=n.n(o);let l=["Critical","High","Medium","Low","Info"],u=["Fixed","Mitigated","Acknowledged","Not Fixed","Unresolved"],c={potential:"pending_validation",verified:"verified",invalid:"rejected",rejected:"rejected",duplicate:"duplicate"},a=["title","severity","description","recommendation","resolution","update_from_client","notes"];function d(e){try{return JSON.parse(r().readFileSync(e,"utf-8"))}catch{return null}}function f(e,t){let n=s().dirname(e);r().existsSync(n)||r().mkdirSync(n,{recursive:!0});let i=e+".tmp";r().writeFileSync(i,JSON.stringify(t,null,2)+"\n","utf-8"),r().renameSync(i,e)}function p(e){return d(s().join(e,"findings.json"))??{findings:[]}}function g(e){return d(s().join(e,"tracking.json"))??{findings:[]}}function y(e,t){return{id:e,title:e,severity:t,category:"",description:"",root_cause:{locations:[]},poc:{status:"not_started",file:null,validation_memo:null},recommendation:"",references:{external_links:[]},created_at:new Date().toISOString()}}function m(e,t){let n=p(e),i=n.findings.find(e=>e.id===t);if(i)return i;let o=g(e).findings.find(e=>e.id===t),l=o?.source_ref??"",u=function(e,t,n,i,o){if(!i)return null;switch(n){case"conformance":return function(e,t,n,i){let o=d(s().join(e,"spec-conformance.json")),l=o?.items?.find(e=>e.id===n);if(!l)return null;let u=y(t,i?.severity??l.severity_hint??"Info");u.title=i?.title??String(l.spec_text??t),u.category="Spec Conformance",u.description=String(l.finding??l.spec_text??"");let c=l.code_location;if(c?.file){let t=function(e,t,n,i){if(!n)return;let o=d(s().join(e,"config.json")),l=o?.project?.project_dir??s().dirname(e);try{let e=r().readFileSync(s().join(l,t),"utf-8").split(/\r?\n/),o=Math.min(i??n,n+40,e.length);return e.slice(n-1,o).join("\n").trimEnd()||void 0}catch{return}}(e,c.file,c.line_start,c.line_end);u.root_cause.locations=[{file:c.file,...t?{snippet:t}:{}}]}return u.source_ref=n,u}(e,t,i,o);case"auditagent":case"ai-audit":case"github":return function(e,t,n,i,r){let o=d(function(e,t){switch(t){case"auditagent":return s().join(e,"ai-results","auditagent","findings.json");case"ai-audit":return s().join(e,"ai-results","ai-audit","findings.json");case"github":return s().join(e,"external","github","findings.json")}}(e,n)),l=o?.findings?.find(e=>e.id===i||String(e.issue_number??"")===i||e.id===`github-${i}`);if(!l)return null;let u=y(t,l.severity??r?.severity??"Info");u.title=String(l.title??r?.title??t),u.category=String(l.category??""),u.description=String(l.description??""),"string"==typeof l.recommendation&&(u.recommendation=l.recommendation);let c=l.affected_code??[];return u.root_cause.locations=c.map(e=>({file:e.file,snippet:e.snippet})),u.source_ref=i,u}(e,t,n,i,o);case"prior-audit":return function(e,t,n,i){let r=d(s().join(e,"previous-audit","findings.json")),o=r?.findings?.find(e=>e.id===n);if(!o)return null;let l=y(t,o.severity??i?.severity??"Info");l.title=String(i?.title??o.title??t),l.category="Regression",l.description=String(o.description??""),"string"==typeof o.recommendation&&(l.recommendation=o.recommendation);let u=o.locations??[];return l.root_cause.locations=u.map(e=>({file:e.file,snippet:e.snippet})),l.source_ref=n,l}(e,t,i,o);case"invariant":return function(e,t,n,i){let r=d(s().join(e,"model","invariants.json")),o=r?.invariants?.find(e=>e.id===n);if(!o)return null;let l=y(t,i?.severity??"Medium");l.title=String(i?.title??`Invariant broken: ${String(o.statement)}`),l.category="Invariant violation",l.description=String(o.statement??"");let u=o.evidence??[];l.root_cause.locations=[...new Set(u.map(e=>e.file))].map(e=>({file:e}));let c=o.test;return(c?.repro_file||c?.file)&&(l.poc={status:"passing",file:c.repro_file??c.file??null,validation_memo:null}),l.source_ref=n,l}(e,t,i,o);default:return null}}(e,t,o?.source,l,o);return!u&&(u=y(t,o?.severity??"Info"),o?.title&&(u.title=o.title),o?.source_ref&&(u.source_ref=o.source_ref)),n.findings.push(u),f(s().join(e,"findings.json"),n),u}let j="Issue is synced to GitHub and is read-only in Hex. Edit it on GitHub, then run /sync-issues to pull the changes.";function v(e,t,n,i){let r=c[n];if(!r)throw Error(`Invalid column: ${n}. The "synced" column is reached only via /sync-issues.`);let o=g(e).findings.find(e=>e.id===t);if(o?.status==="synced")throw Error(j);"verified"===n&&m(e,t);let l=g(e),u=l.findings.find(e=>e.id===t);if(u)u.status=r;else{let o=m(e,t);u={id:t,title:o.title,severity:o.severity,source:"manual",status:r,poc_status:o.poc?.status??"not_started",poc_file:o.poc?.file??null,duplicates:[],duplicate_of:"duplicate"===n?i??null:null,notes:""},l.findings.push(u)}return"duplicate"===n?i&&(u.duplicate_of=i):u.duplicate_of&&(u.duplicate_of=null),f(s().join(e,"tracking.json"),l),u}function _(e,t,n){let i={};for(let e of a){if(!(e in n))continue;let t=n[e];if("severity"===e&&null!=t&&!("string"==typeof t&&l.includes(t)))throw Error(`Invalid severity: ${String(t)}`);if("resolution"===e&&null!=t&&""!==t&&!("string"==typeof t&&u.includes(t)))throw Error(`Invalid resolution: ${String(t)}`);i[e]=t}let r=Array.isArray(n.files)?n.files.filter(e=>"string"==typeof e):null;if(0===Object.keys(i).length&&!r)throw Error("No editable fields supplied");let o=g(e).findings.find(e=>e.id===t);if(o?.status==="synced")throw Error(j);let c=m(e,t),d=p(e),y=d.findings.find(e=>e.id===t)??c;for(let[e,t]of Object.entries(i))if("notes"!==e){if("resolution"===e&&(""===t||null==t)){delete y.resolution;continue}y[e]=t}r&&(y.root_cause.locations=r.map(e=>({file:e}))),f(s().join(e,"findings.json"),d);let v=g(e),_=v.findings.find(e=>e.id===t);return _&&("title"in i&&(_.title=i.title),"severity"in i&&(_.severity=i.severity),"notes"in i&&(_.notes=i.notes),f(s().join(e,"tracking.json"),v)),y}function S(e,t){let n=v(e,t,"potential"),i=g(e),r=i.findings.find(e=>e.id===t),o=r?.validation;if(r&&o){delete o.auto_moved_to,o.reverted_at=new Date().toISOString(),f(s().join(e,"tracking.json"),i);let n=p(e),r=n.findings.find(e=>e.id===t);r&&(r.validation={...o},f(s().join(e,"findings.json"),n))}return n}}};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";exports.id=624,exports.ids=[624],exports.modules={6844:(e,t,r)=>{r.d(t,{$8:()=>o,T9:()=>i});var s=r(9899),a=r(5684),n=r(3798);function o({content:e,className:t}){return s.jsx("div",{className:`prose max-w-none text-body
|
|
2
|
+
prose-headings:font-semibold prose-headings:text-text-primary
|
|
3
|
+
prose-h1:text-title prose-h2:text-heading prose-h3:text-body
|
|
4
|
+
prose-p:text-text-secondary prose-p:leading-relaxed
|
|
5
|
+
prose-strong:text-text-primary
|
|
6
|
+
prose-code:rounded prose-code:bg-surface-2 prose-code:px-1 prose-code:py-px prose-code:font-normal prose-code:text-[0.88em] prose-code:text-text-primary
|
|
7
|
+
prose-code:before:content-none prose-code:after:content-none
|
|
8
|
+
prose-pre:rounded-md prose-pre:border prose-pre:border-border-subtle prose-pre:bg-surface-1 prose-pre:text-text-primary
|
|
9
|
+
prose-a:text-accent prose-a:no-underline hover:prose-a:underline
|
|
10
|
+
prose-th:text-text-primary prose-td:text-text-secondary
|
|
11
|
+
prose-hr:border-border-subtle
|
|
12
|
+
prose-blockquote:border-border-default prose-blockquote:text-text-secondary
|
|
13
|
+
prose-li:text-text-secondary prose-li:marker:text-text-tertiary
|
|
14
|
+
${t??""}`,children:s.jsx(a.UG,{remarkPlugins:[n.Z],children:e})})}function i({children:e}){return s.jsx(a.UG,{remarkPlugins:[n.Z],components:{p:({children:e})=>s.jsx(s.Fragment,{children:e}),code:({children:e})=>s.jsx("code",{className:"rounded bg-surface-2 px-1 py-px font-mono text-[0.86em] text-text-primary",children:e}),strong:({children:e})=>s.jsx("strong",{className:"font-semibold text-text-primary",children:e}),a:({href:e,children:t})=>s.jsx("a",{href:e,target:"_blank",rel:"noreferrer",className:"text-accent hover:underline",children:t})},children:e.split("\n").map(e=>e.replace(/^(\s*)(\d+)([.)])(\s)/,"$1$2\\$3$4").replace(/^(\s*)([-*+#>])(\s)/,"$1\\$2$3")).join("\n")})}},382:(e,t,r)=>{r.d(t,{z:()=>l});var s=r(9899),a=r(5507),n=r(1593);let o={primary:"bg-accent text-accent-contrast hover:bg-accent-secondary shadow-sm",secondary:"bg-surface-0 text-text-primary border border-border-default hover:bg-surface-2 shadow-sm",ghost:"text-text-secondary hover:bg-surface-2 hover:text-text-primary"},i={sm:"h-7 px-2.5 text-caption gap-1.5",md:"h-8 px-3 text-body gap-2"},l=(0,a.forwardRef)(function({variant:e="secondary",size:t="md",className:r,type:a="button",...l},d){return s.jsx("button",{ref:d,type:a,className:(0,n.cn)("inline-flex shrink-0 items-center justify-center whitespace-nowrap rounded-md font-medium disabled:pointer-events-none disabled:opacity-40",o[e],i[t],r),...l})})},8799:(e,t,r)=>{r.d(t,{lj:()=>i,oz:()=>l,vz:()=>d});var s=r(9899),a=r(5507),n=r(1593),o=r(5119);function i({eyebrow:e,title:t,subtitle:r,onClose:a,actions:n,children:i}){return(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,s.jsxs)("div",{className:"shrink-0 px-5 pb-4 pt-4",children:[(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[e&&s.jsx("div",{className:"mb-1 text-caption text-text-tertiary",children:e}),s.jsx("h2",{className:"break-words text-heading font-semibold text-text-primary",children:t}),r&&s.jsx("div",{className:"mt-1 break-words text-caption text-text-secondary",children:r})]}),a&&s.jsx("button",{type:"button",onClick:a,"aria-label":"Close inspector",className:"-mr-1.5 -mt-0.5 rounded-md p-1.5 text-text-tertiary hover:bg-surface-2 hover:text-text-primary",children:s.jsx(o.bM,{className:"h-4 w-4"})})]}),n&&s.jsx("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:n})]}),s.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-5 pb-6",children:i}),s.jsx(c,{})]})}function l({label:e,children:t,className:r,trailing:a}){return(0,s.jsxs)("section",{className:(0,n.cn)("border-t border-border-subtle pt-3 pb-4",r),children:[(0,s.jsxs)("div",{className:"mb-2 flex items-baseline justify-between gap-2",children:[s.jsx("h3",{className:"text-caption font-medium text-text-tertiary",children:e}),a]}),t]})}function d({label:e,children:t}){return(0,s.jsxs)("div",{className:"flex items-baseline gap-3 py-0.5 text-body",children:[s.jsx("span",{className:"w-24 shrink-0 text-text-tertiary",children:e}),s.jsx("span",{className:"min-w-0 flex-1 break-words text-text-primary",children:t})]})}function c(){let[e,t]=(0,a.useState)(!1);return e?(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-t border-border-subtle px-5 py-2.5 text-caption text-text-tertiary",children:[s.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-accent","aria-hidden":"true"}),s.jsx("span",{className:"flex-1",children:"Claude can see your selection."}),s.jsx("button",{type:"button",onClick:()=>{try{localStorage.setItem("hex.focus-hint-dismissed","1")}catch{}t(!1)},className:"rounded px-1.5 py-0.5 text-text-secondary hover:bg-surface-2 hover:text-text-primary",children:"Got it"})]}):null}},5893:(e,t,r)=>{r.d(t,{oH:()=>o,oT:()=>i});var s=r(9899),a=r(1593);let n={critical:"var(--critical)",high:"var(--high)",medium:"var(--medium)",low:"var(--low)",info:"var(--info)"};function o({severity:e,label:t=!0,className:r}){return(0,s.jsxs)("span",{className:(0,a.cn)("inline-flex items-center gap-1.5 whitespace-nowrap",r),children:[s.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-2 shrink-0 rounded-full",style:{background:n[e.toLowerCase()]??"var(--info)"}}),t?s.jsx("span",{children:e}):s.jsx("span",{className:"sr-only",children:e})]})}function i({color:e,className:t,title:r}){return s.jsx("span",{"aria-hidden":!r||void 0,title:r,className:(0,a.cn)("inline-block h-2 w-2 shrink-0 rounded-full",t),style:{background:e}})}},3368:(e,t,r)=>{r.d(t,{Toolbar:()=>l,x:()=>d,z:()=>i});var s=r(9899),a=r(6153),n=r(1593),o=r(1781);function i({toolbar:e,list:t,listWidth:r=272,children:i,inspector:l,inspectorFloating:d=!1,className:c}){let x=(0,a.usePathname)().split("/")[1]||"today",m={"--pane-w":`var(--w-${x}-inspector, 340px)`};return(0,s.jsxs)("div",{className:(0,n.cn)("flex h-full min-h-0 flex-col",c),children:[e,(0,s.jsxs)("div",{className:"relative flex min-h-0 flex-1",children:[t&&(0,s.jsxs)("aside",{className:"relative hidden min-h-0 shrink-0 flex-col border-r border-border-subtle md:flex",style:{width:`var(--w-${x}-list, ${r}px)`},children:[t,s.jsx(o.O,{name:`${x}-list`,edge:"right",min:180,max:560})]}),(0,s.jsxs)("section",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col",children:[i,l&&d&&(0,s.jsxs)("aside",{className:"slide-in absolute bottom-3 right-3 top-[68px] z-30 flex w-[min(var(--pane-w),calc(100%-24px))] min-h-0 flex-col rounded-lg border border-border-default bg-surface-1 shadow-lg",style:m,children:[s.jsx("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg",children:l}),s.jsx(o.O,{name:`${x}-inspector`,edge:"left",min:280,max:720})]})]}),l&&!d&&(0,s.jsxs)("aside",{className:"slide-in absolute inset-y-0 right-0 z-30 flex w-[min(380px,100%)] min-h-0 flex-col border-l border-border-subtle bg-surface-1 shadow-lg lg:relative lg:z-auto lg:w-[var(--pane-w)] lg:shrink-0 lg:shadow-none",style:m,children:[l,s.jsx(o.O,{name:`${x}-inspector`,edge:"left",min:280,max:720,className:"hidden lg:block"})]})]})]})}function l({title:e,meta:t,children:r,className:a}){return(0,s.jsxs)("header",{className:(0,n.cn)("flex min-h-[56px] shrink-0 flex-wrap items-center gap-x-4 gap-y-2 border-b border-border-subtle px-5 py-2.5 pl-16 md:pl-5",a),children:[(0,s.jsxs)("div",{className:"flex min-w-0 items-baseline gap-3",children:[s.jsx("h1",{className:"shrink-0 whitespace-nowrap text-title font-semibold text-text-primary",children:e}),t&&s.jsx("div",{className:"min-w-0 truncate text-body text-text-tertiary",children:t})]}),r&&s.jsx("div",{className:"ml-auto flex shrink-0 items-center gap-2",children:r})]})}function d({children:e,className:t}){return s.jsx("div",{className:(0,n.cn)("min-h-0 flex-1 overflow-y-auto",t),children:e})}},1842:(e,t,r)=>{r.d(t,{C:()=>s});async function s(e,t,r="POST"){let s=await fetch(e,{method:r,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json().catch(()=>({}));if(!s.ok)throw Error(a.error??`Request failed (${s.status})`);return a}},8279:(e,t,r)=>{r.d(t,{y:()=>a});var s=r(5507);function a(e,t=!0){(0,s.useRef)(e).current=e}},6132:(e,t,r)=>{r.d(t,{u:()=>n});var s=r(5023),a=r(4708);function n({sentence:e,command:t,className:r}){return(0,s.jsxs)("div",{className:(0,a.cn)("flex h-full min-h-[200px] flex-col items-center justify-center px-6 text-center fade-in",r),children:[s.jsx("p",{className:"max-w-sm text-body text-text-secondary",children:e}),t&&s.jsx("code",{className:"mt-3 rounded-md bg-surface-2 px-2.5 py-1 font-mono text-caption text-text-primary",children:t})]})}},2548:(e,t,r)=>{r.d(t,{o8:()=>i});var s=r(2772);let a=(0,s.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/SplitView.tsx`),{__esModule:n,$$typeof:o}=a;a.default,(0,s.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/SplitView.tsx#SplitView`);let i=(0,s.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/SplitView.tsx#Toolbar`);(0,s.createProxy)(String.raw`/home/dx/Work/hex/dashboard/components/ui/SplitView.tsx#ScrollArea`)},4708:(e,t,r)=>{r.d(t,{cn:()=>s});function s(...e){return e.filter(Boolean).join(" ")}},2950:(e,t,r)=>{r.r(t),r.d(t,{default:()=>a});var s=r(1645);let a=e=>[{type:"image/svg+xml",sizes:"any",url:(0,s.fillMetadataSegment)(".",e.params,"icon.svg")+"?83fa4bf1ef0d214d"}]}};
|
|
@@ -3,4 +3,4 @@ exports.id=645,exports.ids=[645],exports.modules={8272:(e,t)=>{"use strict";Obje
|
|
|
3
3
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
4
4
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
5
5
|
* MIT Licensed
|
|
6
|
-
*/t.parse=function(t,r){if("string"!=typeof t)throw TypeError("argument str must be a string");for(var i={},o=t.split(n),a=(r||{}).decode||e,u=0;u<o.length;u++){var s=o[u],c=s.indexOf("=");if(!(c<0)){var l=s.substr(0,c).trim(),f=s.substr(++c,s.length).trim();'"'==f[0]&&(f=f.slice(1,-1)),void 0==i[l]&&(i[l]=function(e,t){try{return t(e)}catch(t){return e}}(f,a))}}return i},t.serialize=function(e,t,n){var o=n||{},a=o.encode||r;if("function"!=typeof a)throw TypeError("option encode is invalid");if(!i.test(e))throw TypeError("argument name is invalid");var u=a(t);if(u&&!i.test(u))throw TypeError("argument val is invalid");var s=e+"="+u;if(null!=o.maxAge){var c=o.maxAge-0;if(isNaN(c)||!isFinite(c))throw TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(c)}if(o.domain){if(!i.test(o.domain))throw TypeError("option domain is invalid");s+="; Domain="+o.domain}if(o.path){if(!i.test(o.path))throw TypeError("option path is invalid");s+="; Path="+o.path}if(o.expires){if("function"!=typeof o.expires.toUTCString)throw TypeError("option expires is invalid");s+="; Expires="+o.expires.toUTCString()}if(o.httpOnly&&(s+="; HttpOnly"),o.secure&&(s+="; Secure"),o.sameSite)switch("string"==typeof o.sameSite?o.sameSite.toLowerCase():o.sameSite){case!0:case"strict":s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"none":s+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return s};var e=decodeURIComponent,r=encodeURIComponent,n=/; */,i=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/})(),e.exports=t})()},7232:(e,t)=>{"use strict";function r(e,t){void 0===t&&(t={});for(var r=function(e){for(var t=[],r=0;r<e.length;){var n=e[r];if("*"===n||"+"===n||"?"===n){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if("\\"===n){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if("{"===n){t.push({type:"OPEN",index:r,value:e[r++]});continue}if("}"===n){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(":"===n){for(var i="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||95===a){i+=e[o++];continue}break}if(!i)throw TypeError("Missing parameter name at "+r);t.push({type:"NAME",index:r,value:i}),r=o;continue}if("("===n){var u=1,s="",o=r+1;if("?"===e[o])throw TypeError('Pattern cannot start with "?" at '+o);for(;o<e.length;){if("\\"===e[o]){s+=e[o++]+e[o++];continue}if(")"===e[o]){if(0==--u){o++;break}}else if("("===e[o]&&(u++,"?"!==e[o+1]))throw TypeError("Capturing groups are not allowed at "+o);s+=e[o++]}if(u)throw TypeError("Unbalanced pattern at "+r);if(!s)throw TypeError("Missing pattern at "+r);t.push({type:"PATTERN",index:r,value:s}),r=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),n=t.prefixes,i=void 0===n?"./":n,a="[^"+o(t.delimiter||"/#?")+"]+?",u=[],s=0,c=0,l="",f=function(e){if(c<r.length&&r[c].type===e)return r[c++].value},p=function(e){var t=f(e);if(void 0!==t)return t;var n=r[c];throw TypeError("Unexpected "+n.type+" at "+n.index+", expected "+e)},d=function(){for(var e,t="";e=f("CHAR")||f("ESCAPED_CHAR");)t+=e;return t};c<r.length;){var m=f("CHAR"),g=f("NAME"),h=f("PATTERN");if(g||h){var y=m||"";-1===i.indexOf(y)&&(l+=y,y=""),l&&(u.push(l),l=""),u.push({name:g||s++,prefix:y,suffix:"",pattern:h||a,modifier:f("MODIFIER")||""});continue}var E=m||f("ESCAPED_CHAR");if(E){l+=E;continue}if(l&&(u.push(l),l=""),f("OPEN")){var y=d(),v=f("NAME")||"",R=f("PATTERN")||"",_=d();p("CLOSE"),u.push({name:v||(R?s++:""),pattern:v&&!R?a:R,prefix:y,suffix:_,modifier:f("MODIFIER")||""});continue}p("END")}return u}function n(e,t){void 0===t&&(t={});var r=a(t),n=t.encode,i=void 0===n?function(e){return e}:n,o=t.validate,u=void 0===o||o,s=e.map(function(e){if("object"==typeof e)return RegExp("^(?:"+e.pattern+")$",r)});return function(t){for(var r="",n=0;n<e.length;n++){var o=e[n];if("string"==typeof o){r+=o;continue}var a=t?t[o.name]:void 0,c="?"===o.modifier||"*"===o.modifier,l="*"===o.modifier||"+"===o.modifier;if(Array.isArray(a)){if(!l)throw TypeError('Expected "'+o.name+'" to not repeat, but got an array');if(0===a.length){if(c)continue;throw TypeError('Expected "'+o.name+'" to not be empty')}for(var f=0;f<a.length;f++){var p=i(a[f],o);if(u&&!s[n].test(p))throw TypeError('Expected all "'+o.name+'" to match "'+o.pattern+'", but got "'+p+'"');r+=o.prefix+p+o.suffix}continue}if("string"==typeof a||"number"==typeof a){var p=i(String(a),o);if(u&&!s[n].test(p))throw TypeError('Expected "'+o.name+'" to match "'+o.pattern+'", but got "'+p+'"');r+=o.prefix+p+o.suffix;continue}if(!c){var d=l?"an array":"a string";throw TypeError('Expected "'+o.name+'" to be '+d)}}return r}}function i(e,t,r){void 0===r&&(r={});var n=r.decode,i=void 0===n?function(e){return e}:n;return function(r){var n=e.exec(r);if(!n)return!1;for(var o=n[0],a=n.index,u=Object.create(null),s=1;s<n.length;s++)!function(e){if(void 0!==n[e]){var r=t[e-1];"*"===r.modifier||"+"===r.modifier?u[r.name]=n[e].split(r.prefix+r.suffix).map(function(e){return i(e,r)}):u[r.name]=i(n[e],r)}}(s);return{path:o,index:a,params:u}}}function o(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function a(e){return e&&e.sensitive?"":"i"}function u(e,t,r){void 0===r&&(r={});for(var n=r.strict,i=void 0!==n&&n,u=r.start,s=r.end,c=r.encode,l=void 0===c?function(e){return e}:c,f="["+o(r.endsWith||"")+"]|$",p="["+o(r.delimiter||"/#?")+"]",d=void 0===u||u?"^":"",m=0;m<e.length;m++){var g=e[m];if("string"==typeof g)d+=o(l(g));else{var h=o(l(g.prefix)),y=o(l(g.suffix));if(g.pattern){if(t&&t.push(g),h||y){if("+"===g.modifier||"*"===g.modifier){var E="*"===g.modifier?"?":"";d+="(?:"+h+"((?:"+g.pattern+")(?:"+y+h+"(?:"+g.pattern+"))*)"+y+")"+E}else d+="(?:"+h+"("+g.pattern+")"+y+")"+g.modifier}else d+="("+g.pattern+")"+g.modifier}else d+="(?:"+h+y+")"+g.modifier}}if(void 0===s||s)i||(d+=p+"?"),d+=r.endsWith?"(?="+f+")":"$";else{var v=e[e.length-1],R="string"==typeof v?p.indexOf(v[v.length-1])>-1:void 0===v;i||(d+="(?:"+p+"(?="+f+"))?"),R||(d+="(?="+p+"|"+f+")")}return new RegExp(d,a(r))}function s(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var r=e.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)t.push({name:n,prefix:"",suffix:"",modifier:"",pattern:""});return e}(e,t):Array.isArray(e)?RegExp("(?:"+e.map(function(e){return s(e,t,n).source}).join("|")+")",a(n)):u(r(e,n),t,n)}Object.defineProperty(t,"__esModule",{value:!0}),t.parse=r,t.compile=function(e,t){return n(r(e,t),t)},t.tokensToFunction=n,t.match=function(e,t){var r=[];return i(s(e,r,t),r,t)},t.regexpToFunction=i,t.tokensToRegexp=u,t.pathToRegexp=s},1645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{fillMetadataSegment:function(){return f},normalizeMetadataRoute:function(){return p}});let n=r(3783),i=function(e){return e&&e.__esModule?e:{default:e}}(r(8738)),o=r(3664),a=r(8823),u=r(6862),s=r(8298),c=r(6270);function l(e){let t="";return(e.includes("(")&&e.includes(")")||e.includes("@"))&&(t=(0,u.djb2Hash)(e).toString(36).slice(0,6)),t}function f(e,t,r){let n=(0,s.normalizeAppPath)(e),u=(0,a.getNamedRouteRegex)(n,!1),f=(0,o.interpolateDynamicPath)(n,t,u),p=l(e),d=p?`-${p}`:"",{name:m,ext:g}=i.default.parse(r);return(0,c.normalizePathSep)(i.default.join(f,`${m}${d}${g}`))}function p(e){if(!(0,n.isMetadataRoute)(e))return e;let t=e,r="";if("/robots"===e?t+=".txt":"/manifest"===e?t+=".webmanifest":e.endsWith("/sitemap")?t+=".xml":r=l(e.slice(0,-(i.default.basename(e).length+1))),!t.endsWith("/route")){let{dir:o,name:a,ext:u}=i.default.parse(t),s=(0,n.isStaticMetadataRoute)(e);t=i.default.posix.join(o,`${a}${r?`-${r}`:""}${u}`,s?"":"[[...__metadata_id__]]","route")}return t}},3783:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{STATIC_METADATA_IMAGES:function(){return i},isMetadataRoute:function(){return l},isMetadataRouteFile:function(){return u},isStaticMetadataRoute:function(){return c},isStaticMetadataRouteFile:function(){return s}});let n=r(6270),i={icon:{filename:"icon",extensions:["ico","jpg","jpeg","png","svg"]},apple:{filename:"apple-icon",extensions:["jpg","jpeg","png"]},favicon:{filename:"favicon",extensions:["ico"]},openGraph:{filename:"opengraph-image",extensions:["jpg","jpeg","png","gif"]},twitter:{filename:"twitter-image",extensions:["jpg","jpeg","png","gif"]}},o=["js","jsx","ts","tsx"],a=e=>`(?:${e.join("|")})`;function u(e,t,r){let o=[RegExp(`^[\\\\/]robots${r?`\\.${a(t.concat("txt"))}$`:""}`),RegExp(`^[\\\\/]manifest${r?`\\.${a(t.concat("webmanifest","json"))}$`:""}`),RegExp("^[\\\\/]favicon\\.ico$"),RegExp(`[\\\\/]sitemap${r?`\\.${a(t.concat("xml"))}$`:""}`),RegExp(`[\\\\/]${i.icon.filename}\\d?${r?`\\.${a(t.concat(i.icon.extensions))}$`:""}`),RegExp(`[\\\\/]${i.apple.filename}\\d?${r?`\\.${a(t.concat(i.apple.extensions))}$`:""}`),RegExp(`[\\\\/]${i.openGraph.filename}\\d?${r?`\\.${a(t.concat(i.openGraph.extensions))}$`:""}`),RegExp(`[\\\\/]${i.twitter.filename}\\d?${r?`\\.${a(t.concat(i.twitter.extensions))}$`:""}`)],u=(0,n.normalizePathSep)(e);return o.some(e=>e.test(u))}function s(e){return u(e,[],!0)}function c(e){return"/robots"===e||"/manifest"===e||s(e)}function l(e){let t=e.replace(/^\/?app\//,"").replace(/\/route$/,"");return"/"!==t[0]&&(t="/"+t),!t.endsWith("/page")&&u(t,o,!1)}},9389:(e,t,r)=>{"use strict";function n(e){return function(){let{cookie:t}=e;if(!t)return{};let{parse:n}=r(3941);return n(Array.isArray(t)?t.join("; "):t)}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getCookieParser",{enumerable:!0,get:function(){return n}})},5326:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return i},extractInterceptionRouteInformation:function(){return a},isInterceptionRouteAppPath:function(){return o}});let n=r(8298),i=["(..)(..)","(.)","(..)","(...)"];function o(e){return void 0!==e.split("/").find(e=>i.find(t=>e.startsWith(t)))}function a(e){let t,r,o;for(let n of e.split("/"))if(r=i.find(e=>n.startsWith(e))){[t,o]=e.split(r,2);break}if(!t||!r||!o)throw Error(`Invalid interception route: ${e}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":o="/"===t?`/${o}`:t+"/"+o;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);o=t.split("/").slice(0,-1).concat(o).join("/");break;case"(...)":o="/"+o;break;case"(..)(..)":let a=t.split("/");if(a.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);o=a.slice(0,-2).concat(o).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:o}}},3664:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getUtils:function(){return g},interpolateDynamicPath:function(){return d},normalizeDynamicRouteParams:function(){return m},normalizeVercelUrl:function(){return p}});let n=r(7310),i=r(3387),o=r(4490),a=r(8823),u=r(5136),s=r(5810),c=r(1708),l=r(8298),f=r(7672);function p(e,t,r,i,o){if(i&&t&&o){let t=(0,n.parse)(e.url,!0);for(let e of(delete t.search,Object.keys(t.query)))(e!==f.NEXT_QUERY_PARAM_PREFIX&&e.startsWith(f.NEXT_QUERY_PARAM_PREFIX)||(r||Object.keys(o.groups)).includes(e))&&delete t.query[e];e.url=(0,n.format)(t)}}function d(e,t,r){if(!r)return e;for(let n of Object.keys(r.groups)){let{optional:i,repeat:o}=r.groups[n],a=`[${o?"...":""}${n}]`;i&&(a=`[${a}]`);let u=e.indexOf(a);if(u>-1){let r;let i=t[n];r=Array.isArray(i)?i.map(e=>e&&encodeURIComponent(e)).join("/"):i?encodeURIComponent(i):"",e=e.slice(0,u)+r+e.slice(u+a.length)}}return e}function m(e,t,r,n){let i=!0;return r?{params:e=Object.keys(r.groups).reduce((o,a)=>{let u=e[a];"string"==typeof u&&(u=(0,l.normalizeRscURL)(u)),Array.isArray(u)&&(u=u.map(e=>("string"==typeof e&&(e=(0,l.normalizeRscURL)(e)),e)));let s=n[a],c=r.groups[a].optional;return((Array.isArray(s)?s.some(e=>Array.isArray(u)?u.some(t=>t.includes(e)):null==u?void 0:u.includes(e)):null==u?void 0:u.includes(s))||void 0===u&&!(c&&t))&&(i=!1),c&&(!u||Array.isArray(u)&&1===u.length&&("index"===u[0]||u[0]===`[[...${a}]]`))&&(u=void 0,delete e[a]),u&&"string"==typeof u&&r.groups[a].repeat&&(u=u.split("/")),u&&(o[a]=u),o},{}),hasValidParams:i}:{params:e,hasValidParams:!1}}function g({page:e,i18n:t,basePath:r,rewrites:n,pageIsDynamic:l,trailingSlash:g,caseSensitive:h}){let y,E,v;return l&&(y=(0,a.getNamedRouteRegex)(e,!1),v=(E=(0,u.getRouteMatcher)(y))(e)),{handleRewrites:function(a,u){let f={},p=u.pathname,d=n=>{let c=(0,o.getPathMatch)(n.source+(g?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!h})(u.pathname);if((n.has||n.missing)&&c){let e=(0,s.matchHas)(a,u.query,n.has,n.missing);e?Object.assign(c,e):c=!1}if(c){let{parsedDestination:o,destQuery:a}=(0,s.prepareDestination)({appendParamsToQuery:!0,destination:n.destination,params:c,query:u.query});if(o.protocol)return!0;if(Object.assign(f,a,c),Object.assign(u.query,o.query),delete o.query,Object.assign(u,o),p=u.pathname,r&&(p=p.replace(RegExp(`^${r}`),"")||"/"),t){let e=(0,i.normalizeLocalePath)(p,t.locales);p=e.pathname,u.query.nextInternalLocale=e.detectedLocale||c.nextInternalLocale}if(p===e)return!0;if(l&&E){let e=E(p);if(e)return u.query={...u.query,...e},!0}}return!1};for(let e of n.beforeFiles||[])d(e);if(p!==e){let t=!1;for(let e of n.afterFiles||[])if(t=d(e))break;if(!t&&!(()=>{let t=(0,c.removeTrailingSlash)(p||"");return t===(0,c.removeTrailingSlash)(e)||(null==E?void 0:E(t))})()){for(let e of n.fallback||[])if(t=d(e))break}}return f},defaultRouteRegex:y,dynamicRouteMatcher:E,defaultRouteMatches:v,getParamsFromRouteMatches:function(e,r,n){return(0,u.getRouteMatcher)(function(){let{groups:e,routeKeys:i}=y;return{re:{exec:o=>{let a=Object.fromEntries(new URLSearchParams(o)),u=t&&n&&a["1"]===n;for(let e of Object.keys(a)){let t=a[e];e!==f.NEXT_QUERY_PARAM_PREFIX&&e.startsWith(f.NEXT_QUERY_PARAM_PREFIX)&&(a[e.substring(f.NEXT_QUERY_PARAM_PREFIX.length)]=t,delete a[e])}let s=Object.keys(i||{}),c=e=>{if(t){let i=Array.isArray(e),o=i?e[0]:e;if("string"==typeof o&&t.locales.some(e=>e.toLowerCase()===o.toLowerCase()&&(n=e,r.locale=n,!0)))return i&&e.splice(0,1),!i||0===e.length}return!1};return s.every(e=>a[e])?s.reduce((t,r)=>{let n=null==i?void 0:i[r];return n&&!c(a[r])&&(t[e[n].pos]=a[r]),t},{}):Object.keys(a).reduce((e,t)=>{if(!c(a[t])){let r=t;return u&&(r=parseInt(t,10)-1+""),Object.assign(e,{[r]:a[t]})}return e},{})}},groups:e}}())(e.headers["x-now-route-matches"])},normalizeDynamicRouteParams:(e,t)=>m(e,t,y,v),normalizeVercelUrl:(e,t,r)=>p(e,t,r,l,y),interpolateDynamicPath:(e,t)=>d(e,t,y)}}},5049:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return i}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function i(e){return r.test(e)?e.replace(n,"\\$&"):e}},6862:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r)&4294967295;return t>>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},3387:(e,t)=>{"use strict";function r(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},8738:(e,t,r)=>{"use strict";let n;n=r(1017),e.exports=n},2014:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},6270:(e,t)=>{"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},8298:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return o},normalizeRscURL:function(){return a}});let n=r(2014),i=r(8211);function o(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,i.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function a(e){return e.replace(/\.rsc($|\?)/,"$1")}},8295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return i}}),r(6034);let n=r(4238);function i(e,t){let r=new URL("http://n"),i=t?new URL(t,r):e.startsWith(".")?new URL("http://n"):r,{pathname:o,searchParams:a,search:u,hash:s,href:c,origin:l}=new URL(e,i);if(l!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:o,query:(0,n.searchParamsToUrlQuery)(a),search:u,hash:s,href:c.slice(r.origin.length)}}},5550:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseUrl",{enumerable:!0,get:function(){return o}});let n=r(4238),i=r(8295);function o(e){if(e.startsWith("/"))return(0,i.parseRelativeUrl)(e);let t=new URL(e);return{hash:t.hash,hostname:t.hostname,href:t.href,pathname:t.pathname,port:t.port,protocol:t.protocol,query:(0,n.searchParamsToUrlQuery)(t.searchParams),search:t.search}}},4490:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getPathMatch",{enumerable:!0,get:function(){return i}});let n=r(7232);function i(e,t){let r=[],i=(0,n.pathToRegexp)(e,r,{delimiter:"/",sensitive:"boolean"==typeof(null==t?void 0:t.sensitive)&&t.sensitive,strict:null==t?void 0:t.strict}),o=(0,n.regexpToFunction)((null==t?void 0:t.regexModifier)?new RegExp(t.regexModifier(i.source),i.flags):i,r);return(e,n)=>{if("string"!=typeof e)return!1;let i=o(e);if(!i)return!1;if(null==t?void 0:t.removeUnnamedParams)for(let e of r)"number"==typeof e.name&&delete i.params[e.name];return{...n,...i.params}}}},5810:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{compileNonPath:function(){return f},matchHas:function(){return l},prepareDestination:function(){return p}});let n=r(7232),i=r(5049),o=r(5550),a=r(5326),u=r(8272),s=r(9389);function c(e){return e.replace(/__ESC_COLON_/gi,":")}function l(e,t,r,n){void 0===r&&(r=[]),void 0===n&&(n=[]);let i={},o=r=>{let n;let o=r.key;switch(r.type){case"header":o=o.toLowerCase(),n=e.headers[o];break;case"cookie":n="cookies"in e?e.cookies[r.key]:(0,s.getCookieParser)(e.headers)()[r.key];break;case"query":n=t[o];break;case"host":{let{host:t}=(null==e?void 0:e.headers)||{};n=null==t?void 0:t.split(":",1)[0].toLowerCase()}}if(!r.value&&n)return i[function(e){let t="";for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);(n>64&&n<91||n>96&&n<123)&&(t+=e[r])}return t}(o)]=n,!0;if(n){let e=RegExp("^"+r.value+"$"),t=Array.isArray(n)?n.slice(-1)[0].match(e):n.match(e);if(t)return Array.isArray(t)&&(t.groups?Object.keys(t.groups).forEach(e=>{i[e]=t.groups[e]}):"host"===r.type&&t[0]&&(i.host=t[0])),!0}return!1};return!!r.every(e=>o(e))&&!n.some(e=>o(e))&&i}function f(e,t){if(!e.includes(":"))return e;for(let r of Object.keys(t))e.includes(":"+r)&&(e=e.replace(RegExp(":"+r+"\\*","g"),":"+r+"--ESCAPED_PARAM_ASTERISKS").replace(RegExp(":"+r+"\\?","g"),":"+r+"--ESCAPED_PARAM_QUESTION").replace(RegExp(":"+r+"\\+","g"),":"+r+"--ESCAPED_PARAM_PLUS").replace(RegExp(":"+r+"(?!\\w)","g"),"--ESCAPED_PARAM_COLON"+r));return e=e.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,n.compile)("/"+e,{validate:!1})(t).slice(1)}function p(e){let t;let r=Object.assign({},e.query);delete r.__nextLocale,delete r.__nextDefaultLocale,delete r.__nextDataReq,delete r.__nextInferredLocaleFromDefault,delete r[u.NEXT_RSC_UNION_QUERY];let s=e.destination;for(let t of Object.keys({...e.params,...r}))s=s.replace(RegExp(":"+(0,i.escapeStringRegexp)(t),"g"),"__ESC_COLON_"+t);let l=(0,o.parseUrl)(s),p=l.query,d=c(""+l.pathname+(l.hash||"")),m=c(l.hostname||""),g=[],h=[];(0,n.pathToRegexp)(d,g),(0,n.pathToRegexp)(m,h);let y=[];g.forEach(e=>y.push(e.name)),h.forEach(e=>y.push(e.name));let E=(0,n.compile)(d,{validate:!1}),v=(0,n.compile)(m,{validate:!1});for(let[t,r]of Object.entries(p))Array.isArray(r)?p[t]=r.map(t=>f(c(t),e.params)):"string"==typeof r&&(p[t]=f(c(r),e.params));let R=Object.keys(e.params).filter(e=>"nextInternalLocale"!==e);if(e.appendParamsToQuery&&!R.some(e=>y.includes(e)))for(let t of R)t in p||(p[t]=e.params[t]);if((0,a.isInterceptionRouteAppPath)(d))for(let t of d.split("/")){let r=a.INTERCEPTION_ROUTE_MARKERS.find(e=>t.startsWith(e));if(r){e.params["0"]=r;break}}try{let[r,n]=(t=E(e.params)).split("#",2);l.hostname=v(e.params),l.pathname=r,l.hash=(n?"#":"")+(n||""),delete l.search}catch(e){if(e.message.match(/Expected .*? to not repeat, but got an array/))throw Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match");throw e}return l.query={...r,...l.query},{newUrl:t,destQuery:p,parsedDestination:l}}},4238:(e,t)=>{"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,i]=e;Array.isArray(i)?i.forEach(e=>t.append(r,n(e))):t.set(r,n(i))}),t}function o(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.forEach(t=>{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return o},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return i}})},1708:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},5136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return i}});let n=r(6034);function i(e){let{re:t,groups:r}=e;return e=>{let i=t.exec(e);if(!i)return!1;let o=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},a={};return Object.keys(r).forEach(e=>{let t=r[e],n=i[t.pos];void 0!==n&&(a[e]=~n.indexOf("/")?n.split("/").map(e=>o(e)):t.repeat?[o(n)]:o(n))}),a}}},8823:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return f},getRouteRegex:function(){return s}});let n=r(5326),i=r(5049),o=r(1708);function a(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function u(e){let t=(0,o.removeTrailingSlash)(e).slice(1).split("/"),r={},u=1;return{parameterizedRoute:t.map(e=>{let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&o){let{key:e,optional:n,repeat:s}=a(o[1]);return r[e]={pos:u++,repeat:s,optional:n},"/"+(0,i.escapeStringRegexp)(t)+"([^/]+?)"}if(!o)return"/"+(0,i.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:n}=a(o[1]);return r[e]={pos:u++,repeat:t,optional:n},t?n?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function s(e){let{parameterizedRoute:t,groups:r}=u(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function c(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:u}=e,{key:s,optional:c,repeat:l}=a(n),f=s.replace(/\W/g,"");u&&(f=""+u+f);let p=!1;(0===f.length||f.length>30)&&(p=!0),isNaN(parseInt(f.slice(0,1)))||(p=!0),p&&(f=r()),u?o[f]=""+u+s:o[f]=s;let d=t?(0,i.escapeStringRegexp)(t):"";return l?c?"(?:/"+d+"(?<"+f+">.+?))?":"/"+d+"(?<"+f+">.+?)":"/"+d+"(?<"+f+">[^/]+?)"}function l(e,t){let r;let a=(0,o.removeTrailingSlash)(e).slice(1).split("/"),u=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),s={};return{namedParameterizedRoute:a.map(e=>{let r=n.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&o){let[r]=e.split(o[0]);return c({getSafeRouteKey:u,interceptionMarker:r,segment:o[1],routeKeys:s,keyPrefix:t?"nxtI":void 0})}return o?c({getSafeRouteKey:u,segment:o[1],routeKeys:s,keyPrefix:t?"nxtP":void 0}):"/"+(0,i.escapeStringRegexp)(e)}).join(""),routeKeys:s}}function f(e,t){let r=l(e,t);return{...s(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function p(e,t){let{parameterizedRoute:r}=u(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:i}=l(e,!1);return{namedRegex:"^"+i+(n?"(?:(/.*)?)":"")+"$"}}},8211:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return n},isGroupSegment:function(){return r}});let n="__PAGE__",i="__DEFAULT__"},6034:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return m},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return y},NormalizeError:function(){return g},PageNotFoundError:function(){return h},SP:function(){return p},ST:function(){return d},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return s},getLocationOrigin:function(){return a},getURL:function(){return u},isAbsoluteUrl:function(){return o},isResSent:function(){return c},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return l},stringifyError:function(){return v}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];return r||(r=!0,t=e(...i)),t}}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,o=e=>i.test(e);function a(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=a();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function l(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&c(r))return n;if(!n)throw Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let p="undefined"!=typeof performance,d=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class g extends Error{}class h extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class y extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}}};
|
|
6
|
+
*/t.parse=function(t,r){if("string"!=typeof t)throw TypeError("argument str must be a string");for(var i={},o=t.split(n),a=(r||{}).decode||e,u=0;u<o.length;u++){var s=o[u],c=s.indexOf("=");if(!(c<0)){var l=s.substr(0,c).trim(),f=s.substr(++c,s.length).trim();'"'==f[0]&&(f=f.slice(1,-1)),void 0==i[l]&&(i[l]=function(e,t){try{return t(e)}catch(t){return e}}(f,a))}}return i},t.serialize=function(e,t,n){var o=n||{},a=o.encode||r;if("function"!=typeof a)throw TypeError("option encode is invalid");if(!i.test(e))throw TypeError("argument name is invalid");var u=a(t);if(u&&!i.test(u))throw TypeError("argument val is invalid");var s=e+"="+u;if(null!=o.maxAge){var c=o.maxAge-0;if(isNaN(c)||!isFinite(c))throw TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(c)}if(o.domain){if(!i.test(o.domain))throw TypeError("option domain is invalid");s+="; Domain="+o.domain}if(o.path){if(!i.test(o.path))throw TypeError("option path is invalid");s+="; Path="+o.path}if(o.expires){if("function"!=typeof o.expires.toUTCString)throw TypeError("option expires is invalid");s+="; Expires="+o.expires.toUTCString()}if(o.httpOnly&&(s+="; HttpOnly"),o.secure&&(s+="; Secure"),o.sameSite)switch("string"==typeof o.sameSite?o.sameSite.toLowerCase():o.sameSite){case!0:case"strict":s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"none":s+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return s};var e=decodeURIComponent,r=encodeURIComponent,n=/; */,i=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/})(),e.exports=t})()},7232:(e,t)=>{"use strict";function r(e,t){void 0===t&&(t={});for(var r=function(e){for(var t=[],r=0;r<e.length;){var n=e[r];if("*"===n||"+"===n||"?"===n){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if("\\"===n){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if("{"===n){t.push({type:"OPEN",index:r,value:e[r++]});continue}if("}"===n){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(":"===n){for(var i="",o=r+1;o<e.length;){var a=e.charCodeAt(o);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||95===a){i+=e[o++];continue}break}if(!i)throw TypeError("Missing parameter name at "+r);t.push({type:"NAME",index:r,value:i}),r=o;continue}if("("===n){var u=1,s="",o=r+1;if("?"===e[o])throw TypeError('Pattern cannot start with "?" at '+o);for(;o<e.length;){if("\\"===e[o]){s+=e[o++]+e[o++];continue}if(")"===e[o]){if(0==--u){o++;break}}else if("("===e[o]&&(u++,"?"!==e[o+1]))throw TypeError("Capturing groups are not allowed at "+o);s+=e[o++]}if(u)throw TypeError("Unbalanced pattern at "+r);if(!s)throw TypeError("Missing pattern at "+r);t.push({type:"PATTERN",index:r,value:s}),r=o;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),n=t.prefixes,i=void 0===n?"./":n,a="[^"+o(t.delimiter||"/#?")+"]+?",u=[],s=0,c=0,l="",f=function(e){if(c<r.length&&r[c].type===e)return r[c++].value},p=function(e){var t=f(e);if(void 0!==t)return t;var n=r[c];throw TypeError("Unexpected "+n.type+" at "+n.index+", expected "+e)},d=function(){for(var e,t="";e=f("CHAR")||f("ESCAPED_CHAR");)t+=e;return t};c<r.length;){var m=f("CHAR"),g=f("NAME"),h=f("PATTERN");if(g||h){var y=m||"";-1===i.indexOf(y)&&(l+=y,y=""),l&&(u.push(l),l=""),u.push({name:g||s++,prefix:y,suffix:"",pattern:h||a,modifier:f("MODIFIER")||""});continue}var E=m||f("ESCAPED_CHAR");if(E){l+=E;continue}if(l&&(u.push(l),l=""),f("OPEN")){var y=d(),v=f("NAME")||"",R=f("PATTERN")||"",_=d();p("CLOSE"),u.push({name:v||(R?s++:""),pattern:v&&!R?a:R,prefix:y,suffix:_,modifier:f("MODIFIER")||""});continue}p("END")}return u}function n(e,t){void 0===t&&(t={});var r=a(t),n=t.encode,i=void 0===n?function(e){return e}:n,o=t.validate,u=void 0===o||o,s=e.map(function(e){if("object"==typeof e)return RegExp("^(?:"+e.pattern+")$",r)});return function(t){for(var r="",n=0;n<e.length;n++){var o=e[n];if("string"==typeof o){r+=o;continue}var a=t?t[o.name]:void 0,c="?"===o.modifier||"*"===o.modifier,l="*"===o.modifier||"+"===o.modifier;if(Array.isArray(a)){if(!l)throw TypeError('Expected "'+o.name+'" to not repeat, but got an array');if(0===a.length){if(c)continue;throw TypeError('Expected "'+o.name+'" to not be empty')}for(var f=0;f<a.length;f++){var p=i(a[f],o);if(u&&!s[n].test(p))throw TypeError('Expected all "'+o.name+'" to match "'+o.pattern+'", but got "'+p+'"');r+=o.prefix+p+o.suffix}continue}if("string"==typeof a||"number"==typeof a){var p=i(String(a),o);if(u&&!s[n].test(p))throw TypeError('Expected "'+o.name+'" to match "'+o.pattern+'", but got "'+p+'"');r+=o.prefix+p+o.suffix;continue}if(!c){var d=l?"an array":"a string";throw TypeError('Expected "'+o.name+'" to be '+d)}}return r}}function i(e,t,r){void 0===r&&(r={});var n=r.decode,i=void 0===n?function(e){return e}:n;return function(r){var n=e.exec(r);if(!n)return!1;for(var o=n[0],a=n.index,u=Object.create(null),s=1;s<n.length;s++)!function(e){if(void 0!==n[e]){var r=t[e-1];"*"===r.modifier||"+"===r.modifier?u[r.name]=n[e].split(r.prefix+r.suffix).map(function(e){return i(e,r)}):u[r.name]=i(n[e],r)}}(s);return{path:o,index:a,params:u}}}function o(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function a(e){return e&&e.sensitive?"":"i"}function u(e,t,r){void 0===r&&(r={});for(var n=r.strict,i=void 0!==n&&n,u=r.start,s=r.end,c=r.encode,l=void 0===c?function(e){return e}:c,f="["+o(r.endsWith||"")+"]|$",p="["+o(r.delimiter||"/#?")+"]",d=void 0===u||u?"^":"",m=0;m<e.length;m++){var g=e[m];if("string"==typeof g)d+=o(l(g));else{var h=o(l(g.prefix)),y=o(l(g.suffix));if(g.pattern){if(t&&t.push(g),h||y){if("+"===g.modifier||"*"===g.modifier){var E="*"===g.modifier?"?":"";d+="(?:"+h+"((?:"+g.pattern+")(?:"+y+h+"(?:"+g.pattern+"))*)"+y+")"+E}else d+="(?:"+h+"("+g.pattern+")"+y+")"+g.modifier}else d+="("+g.pattern+")"+g.modifier}else d+="(?:"+h+y+")"+g.modifier}}if(void 0===s||s)i||(d+=p+"?"),d+=r.endsWith?"(?="+f+")":"$";else{var v=e[e.length-1],R="string"==typeof v?p.indexOf(v[v.length-1])>-1:void 0===v;i||(d+="(?:"+p+"(?="+f+"))?"),R||(d+="(?="+p+"|"+f+")")}return new RegExp(d,a(r))}function s(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var r=e.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)t.push({name:n,prefix:"",suffix:"",modifier:"",pattern:""});return e}(e,t):Array.isArray(e)?RegExp("(?:"+e.map(function(e){return s(e,t,n).source}).join("|")+")",a(n)):u(r(e,n),t,n)}Object.defineProperty(t,"__esModule",{value:!0}),t.parse=r,t.compile=function(e,t){return n(r(e,t),t)},t.tokensToFunction=n,t.match=function(e,t){var r=[];return i(s(e,r,t),r,t)},t.regexpToFunction=i,t.tokensToRegexp=u,t.pathToRegexp=s},1645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{fillMetadataSegment:function(){return f},normalizeMetadataRoute:function(){return p}});let n=r(3783),i=function(e){return e&&e.__esModule?e:{default:e}}(r(8738)),o=r(3664),a=r(8823),u=r(6862),s=r(8298),c=r(6270);function l(e){let t="";return(e.includes("(")&&e.includes(")")||e.includes("@"))&&(t=(0,u.djb2Hash)(e).toString(36).slice(0,6)),t}function f(e,t,r){let n=(0,s.normalizeAppPath)(e),u=(0,a.getNamedRouteRegex)(n,!1),f=(0,o.interpolateDynamicPath)(n,t,u),p=l(e),d=p?`-${p}`:"",{name:m,ext:g}=i.default.parse(r);return(0,c.normalizePathSep)(i.default.join(f,`${m}${d}${g}`))}function p(e){if(!(0,n.isMetadataRoute)(e))return e;let t=e,r="";if("/robots"===e?t+=".txt":"/manifest"===e?t+=".webmanifest":e.endsWith("/sitemap")?t+=".xml":r=l(e.slice(0,-(i.default.basename(e).length+1))),!t.endsWith("/route")){let{dir:o,name:a,ext:u}=i.default.parse(t),s=(0,n.isStaticMetadataRoute)(e);t=i.default.posix.join(o,`${a}${r?`-${r}`:""}${u}`,s?"":"[[...__metadata_id__]]","route")}return t}},3783:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{STATIC_METADATA_IMAGES:function(){return i},isMetadataRoute:function(){return l},isMetadataRouteFile:function(){return u},isStaticMetadataRoute:function(){return c},isStaticMetadataRouteFile:function(){return s}});let n=r(6270),i={icon:{filename:"icon",extensions:["ico","jpg","jpeg","png","svg"]},apple:{filename:"apple-icon",extensions:["jpg","jpeg","png"]},favicon:{filename:"favicon",extensions:["ico"]},openGraph:{filename:"opengraph-image",extensions:["jpg","jpeg","png","gif"]},twitter:{filename:"twitter-image",extensions:["jpg","jpeg","png","gif"]}},o=["js","jsx","ts","tsx"],a=e=>`(?:${e.join("|")})`;function u(e,t,r){let o=[RegExp(`^[\\\\/]robots${r?`\\.${a(t.concat("txt"))}$`:""}`),RegExp(`^[\\\\/]manifest${r?`\\.${a(t.concat("webmanifest","json"))}$`:""}`),RegExp("^[\\\\/]favicon\\.ico$"),RegExp(`[\\\\/]sitemap${r?`\\.${a(t.concat("xml"))}$`:""}`),RegExp(`[\\\\/]${i.icon.filename}\\d?${r?`\\.${a(t.concat(i.icon.extensions))}$`:""}`),RegExp(`[\\\\/]${i.apple.filename}\\d?${r?`\\.${a(t.concat(i.apple.extensions))}$`:""}`),RegExp(`[\\\\/]${i.openGraph.filename}\\d?${r?`\\.${a(t.concat(i.openGraph.extensions))}$`:""}`),RegExp(`[\\\\/]${i.twitter.filename}\\d?${r?`\\.${a(t.concat(i.twitter.extensions))}$`:""}`)],u=(0,n.normalizePathSep)(e);return o.some(e=>e.test(u))}function s(e){return u(e,[],!0)}function c(e){return"/robots"===e||"/manifest"===e||s(e)}function l(e){let t=e.replace(/^\/?app\//,"").replace(/\/route$/,"");return"/"!==t[0]&&(t="/"+t),!t.endsWith("/page")&&u(t,o,!1)}},9389:(e,t,r)=>{"use strict";function n(e){return function(){let{cookie:t}=e;if(!t)return{};let{parse:n}=r(3941);return n(Array.isArray(t)?t.join("; "):t)}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getCookieParser",{enumerable:!0,get:function(){return n}})},5326:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return i},extractInterceptionRouteInformation:function(){return a},isInterceptionRouteAppPath:function(){return o}});let n=r(8298),i=["(..)(..)","(.)","(..)","(...)"];function o(e){return void 0!==e.split("/").find(e=>i.find(t=>e.startsWith(t)))}function a(e){let t,r,o;for(let n of e.split("/"))if(r=i.find(e=>n.startsWith(e))){[t,o]=e.split(r,2);break}if(!t||!r||!o)throw Error(`Invalid interception route: ${e}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":o="/"===t?`/${o}`:t+"/"+o;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);o=t.split("/").slice(0,-1).concat(o).join("/");break;case"(...)":o="/"+o;break;case"(..)(..)":let a=t.split("/");if(a.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);o=a.slice(0,-2).concat(o).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:o}}},3664:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getUtils:function(){return g},interpolateDynamicPath:function(){return d},normalizeDynamicRouteParams:function(){return m},normalizeVercelUrl:function(){return p}});let n=r(7310),i=r(3387),o=r(4490),a=r(8823),u=r(5136),s=r(5810),c=r(1708),l=r(8298),f=r(7672);function p(e,t,r,i,o){if(i&&t&&o){let t=(0,n.parse)(e.url,!0);for(let e of(delete t.search,Object.keys(t.query)))(e!==f.NEXT_QUERY_PARAM_PREFIX&&e.startsWith(f.NEXT_QUERY_PARAM_PREFIX)||(r||Object.keys(o.groups)).includes(e))&&delete t.query[e];e.url=(0,n.format)(t)}}function d(e,t,r){if(!r)return e;for(let n of Object.keys(r.groups)){let{optional:i,repeat:o}=r.groups[n],a=`[${o?"...":""}${n}]`;i&&(a=`[${a}]`);let u=e.indexOf(a);if(u>-1){let r;let i=t[n];r=Array.isArray(i)?i.map(e=>e&&encodeURIComponent(e)).join("/"):i?encodeURIComponent(i):"",e=e.slice(0,u)+r+e.slice(u+a.length)}}return e}function m(e,t,r,n){let i=!0;return r?{params:e=Object.keys(r.groups).reduce((o,a)=>{let u=e[a];"string"==typeof u&&(u=(0,l.normalizeRscURL)(u)),Array.isArray(u)&&(u=u.map(e=>("string"==typeof e&&(e=(0,l.normalizeRscURL)(e)),e)));let s=n[a],c=r.groups[a].optional;return((Array.isArray(s)?s.some(e=>Array.isArray(u)?u.some(t=>t.includes(e)):null==u?void 0:u.includes(e)):null==u?void 0:u.includes(s))||void 0===u&&!(c&&t))&&(i=!1),c&&(!u||Array.isArray(u)&&1===u.length&&("index"===u[0]||u[0]===`[[...${a}]]`))&&(u=void 0,delete e[a]),u&&"string"==typeof u&&r.groups[a].repeat&&(u=u.split("/")),u&&(o[a]=u),o},{}),hasValidParams:i}:{params:e,hasValidParams:!1}}function g({page:e,i18n:t,basePath:r,rewrites:n,pageIsDynamic:l,trailingSlash:g,caseSensitive:h}){let y,E,v;return l&&(y=(0,a.getNamedRouteRegex)(e,!1),v=(E=(0,u.getRouteMatcher)(y))(e)),{handleRewrites:function(a,u){let f={},p=u.pathname,d=n=>{let c=(0,o.getPathMatch)(n.source+(g?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!h})(u.pathname);if((n.has||n.missing)&&c){let e=(0,s.matchHas)(a,u.query,n.has,n.missing);e?Object.assign(c,e):c=!1}if(c){let{parsedDestination:o,destQuery:a}=(0,s.prepareDestination)({appendParamsToQuery:!0,destination:n.destination,params:c,query:u.query});if(o.protocol)return!0;if(Object.assign(f,a,c),Object.assign(u.query,o.query),delete o.query,Object.assign(u,o),p=u.pathname,r&&(p=p.replace(RegExp(`^${r}`),"")||"/"),t){let e=(0,i.normalizeLocalePath)(p,t.locales);p=e.pathname,u.query.nextInternalLocale=e.detectedLocale||c.nextInternalLocale}if(p===e)return!0;if(l&&E){let e=E(p);if(e)return u.query={...u.query,...e},!0}}return!1};for(let e of n.beforeFiles||[])d(e);if(p!==e){let t=!1;for(let e of n.afterFiles||[])if(t=d(e))break;if(!t&&!(()=>{let t=(0,c.removeTrailingSlash)(p||"");return t===(0,c.removeTrailingSlash)(e)||(null==E?void 0:E(t))})()){for(let e of n.fallback||[])if(t=d(e))break}}return f},defaultRouteRegex:y,dynamicRouteMatcher:E,defaultRouteMatches:v,getParamsFromRouteMatches:function(e,r,n){return(0,u.getRouteMatcher)(function(){let{groups:e,routeKeys:i}=y;return{re:{exec:o=>{let a=Object.fromEntries(new URLSearchParams(o)),u=t&&n&&a["1"]===n;for(let e of Object.keys(a)){let t=a[e];e!==f.NEXT_QUERY_PARAM_PREFIX&&e.startsWith(f.NEXT_QUERY_PARAM_PREFIX)&&(a[e.substring(f.NEXT_QUERY_PARAM_PREFIX.length)]=t,delete a[e])}let s=Object.keys(i||{}),c=e=>{if(t){let i=Array.isArray(e),o=i?e[0]:e;if("string"==typeof o&&t.locales.some(e=>e.toLowerCase()===o.toLowerCase()&&(n=e,r.locale=n,!0)))return i&&e.splice(0,1),!i||0===e.length}return!1};return s.every(e=>a[e])?s.reduce((t,r)=>{let n=null==i?void 0:i[r];return n&&!c(a[r])&&(t[e[n].pos]=a[r]),t},{}):Object.keys(a).reduce((e,t)=>{if(!c(a[t])){let r=t;return u&&(r=parseInt(t,10)-1+""),Object.assign(e,{[r]:a[t]})}return e},{})}},groups:e}}())(e.headers["x-now-route-matches"])},normalizeDynamicRouteParams:(e,t)=>m(e,t,y,v),normalizeVercelUrl:(e,t,r)=>p(e,t,r,l,y),interpolateDynamicPath:(e,t)=>d(e,t,y)}}},5049:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return i}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function i(e){return r.test(e)?e.replace(n,"\\$&"):e}},6862:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r)&4294967295;return t>>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},3387:(e,t)=>{"use strict";function r(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},8738:(e,t,r)=>{"use strict";let n;n=r(1017),e.exports=n},2014:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},6270:(e,t)=>{"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},8298:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return o},normalizeRscURL:function(){return a}});let n=r(2014),i=r(8211);function o(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,i.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function a(e){return e.replace(/\.rsc($|\?)/,"$1")}},8295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return i}}),r(2353);let n=r(4238);function i(e,t){let r=new URL("http://n"),i=t?new URL(t,r):e.startsWith(".")?new URL("http://n"):r,{pathname:o,searchParams:a,search:u,hash:s,href:c,origin:l}=new URL(e,i);if(l!==r.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:o,query:(0,n.searchParamsToUrlQuery)(a),search:u,hash:s,href:c.slice(r.origin.length)}}},5550:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseUrl",{enumerable:!0,get:function(){return o}});let n=r(4238),i=r(8295);function o(e){if(e.startsWith("/"))return(0,i.parseRelativeUrl)(e);let t=new URL(e);return{hash:t.hash,hostname:t.hostname,href:t.href,pathname:t.pathname,port:t.port,protocol:t.protocol,query:(0,n.searchParamsToUrlQuery)(t.searchParams),search:t.search}}},4490:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getPathMatch",{enumerable:!0,get:function(){return i}});let n=r(7232);function i(e,t){let r=[],i=(0,n.pathToRegexp)(e,r,{delimiter:"/",sensitive:"boolean"==typeof(null==t?void 0:t.sensitive)&&t.sensitive,strict:null==t?void 0:t.strict}),o=(0,n.regexpToFunction)((null==t?void 0:t.regexModifier)?new RegExp(t.regexModifier(i.source),i.flags):i,r);return(e,n)=>{if("string"!=typeof e)return!1;let i=o(e);if(!i)return!1;if(null==t?void 0:t.removeUnnamedParams)for(let e of r)"number"==typeof e.name&&delete i.params[e.name];return{...n,...i.params}}}},5810:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{compileNonPath:function(){return f},matchHas:function(){return l},prepareDestination:function(){return p}});let n=r(7232),i=r(5049),o=r(5550),a=r(5326),u=r(8272),s=r(9389);function c(e){return e.replace(/__ESC_COLON_/gi,":")}function l(e,t,r,n){void 0===r&&(r=[]),void 0===n&&(n=[]);let i={},o=r=>{let n;let o=r.key;switch(r.type){case"header":o=o.toLowerCase(),n=e.headers[o];break;case"cookie":n="cookies"in e?e.cookies[r.key]:(0,s.getCookieParser)(e.headers)()[r.key];break;case"query":n=t[o];break;case"host":{let{host:t}=(null==e?void 0:e.headers)||{};n=null==t?void 0:t.split(":",1)[0].toLowerCase()}}if(!r.value&&n)return i[function(e){let t="";for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);(n>64&&n<91||n>96&&n<123)&&(t+=e[r])}return t}(o)]=n,!0;if(n){let e=RegExp("^"+r.value+"$"),t=Array.isArray(n)?n.slice(-1)[0].match(e):n.match(e);if(t)return Array.isArray(t)&&(t.groups?Object.keys(t.groups).forEach(e=>{i[e]=t.groups[e]}):"host"===r.type&&t[0]&&(i.host=t[0])),!0}return!1};return!!r.every(e=>o(e))&&!n.some(e=>o(e))&&i}function f(e,t){if(!e.includes(":"))return e;for(let r of Object.keys(t))e.includes(":"+r)&&(e=e.replace(RegExp(":"+r+"\\*","g"),":"+r+"--ESCAPED_PARAM_ASTERISKS").replace(RegExp(":"+r+"\\?","g"),":"+r+"--ESCAPED_PARAM_QUESTION").replace(RegExp(":"+r+"\\+","g"),":"+r+"--ESCAPED_PARAM_PLUS").replace(RegExp(":"+r+"(?!\\w)","g"),"--ESCAPED_PARAM_COLON"+r));return e=e.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,n.compile)("/"+e,{validate:!1})(t).slice(1)}function p(e){let t;let r=Object.assign({},e.query);delete r.__nextLocale,delete r.__nextDefaultLocale,delete r.__nextDataReq,delete r.__nextInferredLocaleFromDefault,delete r[u.NEXT_RSC_UNION_QUERY];let s=e.destination;for(let t of Object.keys({...e.params,...r}))s=s.replace(RegExp(":"+(0,i.escapeStringRegexp)(t),"g"),"__ESC_COLON_"+t);let l=(0,o.parseUrl)(s),p=l.query,d=c(""+l.pathname+(l.hash||"")),m=c(l.hostname||""),g=[],h=[];(0,n.pathToRegexp)(d,g),(0,n.pathToRegexp)(m,h);let y=[];g.forEach(e=>y.push(e.name)),h.forEach(e=>y.push(e.name));let E=(0,n.compile)(d,{validate:!1}),v=(0,n.compile)(m,{validate:!1});for(let[t,r]of Object.entries(p))Array.isArray(r)?p[t]=r.map(t=>f(c(t),e.params)):"string"==typeof r&&(p[t]=f(c(r),e.params));let R=Object.keys(e.params).filter(e=>"nextInternalLocale"!==e);if(e.appendParamsToQuery&&!R.some(e=>y.includes(e)))for(let t of R)t in p||(p[t]=e.params[t]);if((0,a.isInterceptionRouteAppPath)(d))for(let t of d.split("/")){let r=a.INTERCEPTION_ROUTE_MARKERS.find(e=>t.startsWith(e));if(r){e.params["0"]=r;break}}try{let[r,n]=(t=E(e.params)).split("#",2);l.hostname=v(e.params),l.pathname=r,l.hash=(n?"#":"")+(n||""),delete l.search}catch(e){if(e.message.match(/Expected .*? to not repeat, but got an array/))throw Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match");throw e}return l.query={...r,...l.query},{newUrl:t,destQuery:p,parsedDestination:l}}},4238:(e,t)=>{"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,i]=e;Array.isArray(i)?i.forEach(e=>t.append(r,n(e))):t.set(r,n(i))}),t}function o(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.forEach(t=>{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return o},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return i}})},1708:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},5136:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return i}});let n=r(2353);function i(e){let{re:t,groups:r}=e;return e=>{let i=t.exec(e);if(!i)return!1;let o=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},a={};return Object.keys(r).forEach(e=>{let t=r[e],n=i[t.pos];void 0!==n&&(a[e]=~n.indexOf("/")?n.split("/").map(e=>o(e)):t.repeat?[o(n)]:o(n))}),a}}},8823:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return f},getRouteRegex:function(){return s}});let n=r(5326),i=r(5049),o=r(1708);function a(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function u(e){let t=(0,o.removeTrailingSlash)(e).slice(1).split("/"),r={},u=1;return{parameterizedRoute:t.map(e=>{let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&o){let{key:e,optional:n,repeat:s}=a(o[1]);return r[e]={pos:u++,repeat:s,optional:n},"/"+(0,i.escapeStringRegexp)(t)+"([^/]+?)"}if(!o)return"/"+(0,i.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:n}=a(o[1]);return r[e]={pos:u++,repeat:t,optional:n},t?n?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function s(e){let{parameterizedRoute:t,groups:r}=u(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function c(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:u}=e,{key:s,optional:c,repeat:l}=a(n),f=s.replace(/\W/g,"");u&&(f=""+u+f);let p=!1;(0===f.length||f.length>30)&&(p=!0),isNaN(parseInt(f.slice(0,1)))||(p=!0),p&&(f=r()),u?o[f]=""+u+s:o[f]=s;let d=t?(0,i.escapeStringRegexp)(t):"";return l?c?"(?:/"+d+"(?<"+f+">.+?))?":"/"+d+"(?<"+f+">.+?)":"/"+d+"(?<"+f+">[^/]+?)"}function l(e,t){let r;let a=(0,o.removeTrailingSlash)(e).slice(1).split("/"),u=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),s={};return{namedParameterizedRoute:a.map(e=>{let r=n.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),o=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&o){let[r]=e.split(o[0]);return c({getSafeRouteKey:u,interceptionMarker:r,segment:o[1],routeKeys:s,keyPrefix:t?"nxtI":void 0})}return o?c({getSafeRouteKey:u,segment:o[1],routeKeys:s,keyPrefix:t?"nxtP":void 0}):"/"+(0,i.escapeStringRegexp)(e)}).join(""),routeKeys:s}}function f(e,t){let r=l(e,t);return{...s(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function p(e,t){let{parameterizedRoute:r}=u(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:i}=l(e,!1);return{namedRegex:"^"+i+(n?"(?:(/.*)?)":"")+"$"}}},8211:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return n},isGroupSegment:function(){return r}});let n="__PAGE__",i="__DEFAULT__"},2353:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return m},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return y},NormalizeError:function(){return g},PageNotFoundError:function(){return h},SP:function(){return p},ST:function(){return d},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return s},getLocationOrigin:function(){return a},getURL:function(){return u},isAbsoluteUrl:function(){return o},isResSent:function(){return c},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return l},stringifyError:function(){return v}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];return r||(r=!0,t=e(...i)),t}}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,o=e=>i.test(e);function a(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=a();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function l(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&c(r))return n;if(!n)throw Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let p="undefined"!=typeof performance,d=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class m extends Error{}class g extends Error{}class h extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class y extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}}};
|