0sec-cli 0.21.4 → 0.22.1
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/0.js +56 -56
- package/README.md +48 -63
- package/chunks/{adapt-loop-IGBRQAXO.js → adapt-loop-J6QCZZTB.js} +4 -4
- package/chunks/{artifact-scraper-LNQJUORS.js → artifact-scraper-MFKT6OI4.js} +2 -2
- package/chunks/{assumption-mining-4MJTP6H5.js → assumption-mining-646LYSJY.js} +16 -16
- package/chunks/{chunk-Z3IKZX3X.js → chunk-23DG5YKS.js} +1 -1
- package/chunks/{chunk-2WSXFFJZ.js → chunk-3E2KALZ5.js} +2 -2
- package/chunks/{chunk-TF46UWFU.js → chunk-4G7OVYJX.js} +1 -1
- package/chunks/{chunk-E2UOY5PJ.js → chunk-5BTJMINS.js} +12 -70
- package/chunks/{chunk-QZVG3BG4.js → chunk-5IBCBQEH.js} +1 -2
- package/chunks/{chunk-YA4PUM4H.js → chunk-7XCKYNLO.js} +1 -1
- package/chunks/{chunk-BACXRTQ4.js → chunk-AV2LG2L7.js} +87 -767
- package/chunks/{chunk-IMGWPNQM.js → chunk-BCSRRQG5.js} +76 -593
- package/chunks/{chunk-NOPBXZUV.js → chunk-BOUGKEKA.js} +1 -1
- package/chunks/{chunk-RF5QGKLR.js → chunk-CPWA6RWE.js} +3 -3
- package/chunks/{chunk-P6YG6TEZ.js → chunk-DKSCN2AB.js} +1 -1
- package/chunks/{chunk-YPOA3W4O.js → chunk-GOEA3NW6.js} +877 -110
- package/chunks/{chunk-ANDKY54G.js → chunk-HHPWRY2M.js} +4019 -7299
- package/chunks/{chunk-NDJU5ZZ7.js → chunk-IFME676H.js} +3 -3
- package/chunks/{chunk-HBKCGJAV.js → chunk-IVQV574Y.js} +1 -1
- package/chunks/{chunk-W4JOXE4N.js → chunk-IXT64DV5.js} +709 -1929
- package/chunks/{chunk-PC6RCKQV.js → chunk-KAU6NLGP.js} +59 -26
- package/chunks/{chunk-FAH6V4QM.js → chunk-LGCASF2C.js} +1117 -2291
- package/chunks/{chunk-CAJJRUTV.js → chunk-NLH4LMWH.js} +1 -1
- package/chunks/chunk-OHHCGDJ2.js +5523 -0
- package/chunks/{chunk-YHWWF4QY.js → chunk-OSBPGWTE.js} +3 -3
- package/chunks/{chunk-G34QP2XW.js → chunk-TM74SSHC.js} +1 -1
- package/chunks/{chunk-VOAXLO4A.js → chunk-TO35Y326.js} +5 -721
- package/chunks/{chunk-FWAYJ2IV.js → chunk-TV27OWIW.js} +8 -8
- package/chunks/chunk-UELXHK2Y.js +1950 -0
- package/chunks/{chunk-CL5KAUM6.js → chunk-V6GHX34G.js} +274 -8
- package/chunks/{chunk-WZISK5VC.js → chunk-VWITLWXB.js} +53 -7
- package/chunks/{chunk-ER3SUMYJ.js → chunk-W6UWZFKL.js} +0 -195
- package/chunks/chunk-WSDDGFA6.js +114 -0
- package/chunks/{chunk-5T6D5BVY.js → chunk-WZRVS7SB.js} +1 -1
- package/chunks/chunk-X7LAEEUW.js +2143 -0
- package/chunks/chunk-XA2O4WXA.js +1228 -0
- package/chunks/{chunk-Y5H6E24H.js → chunk-XCISCI4T.js} +1 -1
- package/chunks/{chunk-WPQLBN4S.js → chunk-XDKB2P5X.js} +1 -1
- package/chunks/{chunk-SBMB4OL3.js → chunk-YL6YAGLL.js} +62 -8
- package/chunks/{chunk-O6SD4A36.js → chunk-ZKQ2I3S2.js} +1 -1
- package/chunks/{codex-models-TYYV4JNN.js → codex-models-NHQW45SO.js} +5 -3
- package/chunks/{commands-WF5RG4I2.js → commands-N6GN5SBF.js} +2152 -3643
- package/chunks/{db-U3WQZVAO.js → db-5IWEJUYV.js} +3 -3
- package/chunks/{disclose-67GZCDBO.js → disclose-LDNKAVRH.js} +10 -8
- package/chunks/{dist-ACC3DZUZ.js → dist-BS4CY4RG.js} +3 -1
- package/chunks/{dist-EVTN3UTT.js → dist-FSS7MBDF.js} +2 -2
- package/chunks/{dist-F6X62TQK.js → dist-L3XJWWZ6.js} +225 -192
- package/chunks/{eval-runner-SA6OUGHZ.js → eval-runner-EMEGF24P.js} +11 -11
- package/chunks/{exploit-agent-36Q7XQFP.js → exploit-agent-KW4EB7BE.js} +1 -1
- package/chunks/{exploit-autoclimb-J4OTSTZ6.js → exploit-autoclimb-CXJ2ERRO.js} +1 -1
- package/chunks/{exploit-climb-PYEJDIC4.js → exploit-climb-TJWLY4XC.js} +2 -2
- package/chunks/fix-UUKPXCFB.js +26 -0
- package/chunks/{harness-GDUMKGSE.js → harness-C5HOKIEV.js} +3 -3
- package/chunks/{hunt-scan-UDJSCISU.js → hunt-scan-KZZ444V2.js} +14 -14
- package/chunks/{identity-JTIVJSV7.js → identity-62SVRW4H.js} +1 -1
- package/chunks/{kernel-primitive-F2IXUFAX.js → kernel-primitive-Z77IR7YS.js} +2 -2
- package/chunks/{kernel-vm-runner-276LHIOV.js → kernel-vm-runner-JW77P276.js} +2 -2
- package/chunks/{memsafety-scan-NHUOGTEX.js → memsafety-scan-FCPAXIZE.js} +2 -2
- package/chunks/{native-loop-3BSYVDUI.js → native-loop-P6P5GYVJ.js} +10 -10
- package/chunks/{npm-detectors-VIYJXKFQ.js → npm-detectors-Z2ZIQCN4.js} +2 -2
- package/chunks/orchestrate-DWWUT5RC.js +58 -0
- package/chunks/{process-PNMC36JI.js → process-N245QIQG.js} +1 -4
- package/chunks/{run-CBGE6DRQ.js → run-GAFKBCTN.js} +14935 -17598
- package/chunks/{runtime-PXO5G6UV.js → runtime-H7YBR5IZ.js} +4 -5
- package/chunks/{scope-NJHIDDTN.js → scope-QWY4VQZ7.js} +4 -1
- package/chunks/{session-store-46WBZM22.js → session-store-XIDFGG7K.js} +2 -2
- package/chunks/{variant-candidates-UH2WC2HA.js → variant-candidates-7D4F5E4H.js} +3 -3
- package/chunks/{web-recon-prepass-SFXU44SS.js → web-recon-prepass-VXXBPDAV.js} +3 -3
- package/cli-path-traversal-fixture.js +352 -0
- package/dashboard/assets/bot-Bg1Tp9_d.js +1 -0
- package/dashboard/assets/dist-B_dDCPbu.js +1 -0
- package/dashboard/assets/findings-page-mayGhNx6.js +5 -0
- package/dashboard/assets/format--susmHX7.js +1 -0
- package/dashboard/assets/input-TuVPR3Zl.js +1 -0
- package/dashboard/assets/jsx-runtime-MGseXjj5.js +3 -0
- package/dashboard/assets/live-page-HWWHX99U.js +1 -0
- package/dashboard/assets/meta-tile-ckHo-w7k.js +1 -0
- package/dashboard/assets/operations-BxZ0OoXO.js +10 -0
- package/dashboard/assets/operations-app-D3d35rgo.js +46 -0
- package/dashboard/assets/overview-page-W_4IteEr.js +1 -0
- package/dashboard/assets/page-header-Bw9AJgBV.js +1 -0
- package/dashboard/assets/scans-page-CgzVXHnn.js +1 -0
- package/dashboard/assets/siren-KQj8QAnJ.js +1 -0
- package/dashboard/assets/table-8EDklulN.js +1 -0
- package/dashboard/assets/tabs-CFHPOwg8.js +1 -0
- package/dashboard/index.html +2 -3
- package/node_modules/node-addon-api/LICENSE.md +9 -0
- package/node_modules/node-addon-api/README.md +95 -0
- package/node_modules/node-addon-api/common.gypi +21 -0
- package/node_modules/node-addon-api/except.gypi +25 -0
- package/node_modules/node-addon-api/index.js +14 -0
- package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
- package/node_modules/node-addon-api/napi-inl.h +7250 -0
- package/node_modules/node-addon-api/napi.h +3463 -0
- package/node_modules/node-addon-api/node_addon_api.gyp +42 -0
- package/node_modules/node-addon-api/node_api.gyp +9 -0
- package/node_modules/node-addon-api/noexcept.gypi +26 -0
- package/node_modules/node-addon-api/nothing.c +0 -0
- package/node_modules/node-addon-api/package-support.json +21 -0
- package/node_modules/node-addon-api/package.json +481 -0
- package/node_modules/node-addon-api/tools/README.md +73 -0
- package/node_modules/node-addon-api/tools/check-napi.js +99 -0
- package/node_modules/node-addon-api/tools/clang-format.js +71 -0
- package/node_modules/node-addon-api/tools/conversion.js +301 -0
- package/node_modules/node-gyp-build/LICENSE +21 -0
- package/node_modules/node-gyp-build/README.md +58 -0
- package/node_modules/node-gyp-build/SECURITY.md +5 -0
- package/node_modules/node-gyp-build/bin.js +84 -0
- package/node_modules/node-gyp-build/build-test.js +19 -0
- package/node_modules/node-gyp-build/index.js +6 -0
- package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
- package/node_modules/node-gyp-build/optional.js +7 -0
- package/node_modules/node-gyp-build/package.json +43 -0
- package/node_modules/tree-sitter/LICENSE +21 -0
- package/node_modules/tree-sitter/README.md +90 -0
- package/node_modules/tree-sitter/binding.gyp +76 -0
- package/node_modules/tree-sitter/index.js +895 -0
- package/node_modules/tree-sitter/package.json +62 -0
- package/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/src/addon_data.h +47 -0
- package/node_modules/tree-sitter/src/binding.cc +35 -0
- package/node_modules/tree-sitter/src/conversions.cc +140 -0
- package/node_modules/tree-sitter/src/conversions.h +22 -0
- package/node_modules/tree-sitter/src/language.cc +106 -0
- package/node_modules/tree-sitter/src/language.h +17 -0
- package/node_modules/tree-sitter/src/logger.cc +70 -0
- package/node_modules/tree-sitter/src/logger.h +19 -0
- package/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
- package/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
- package/node_modules/tree-sitter/src/node.cc +1056 -0
- package/node_modules/tree-sitter/src/node.h +30 -0
- package/node_modules/tree-sitter/src/parser.cc +298 -0
- package/node_modules/tree-sitter/src/parser.h +35 -0
- package/node_modules/tree-sitter/src/query.cc +383 -0
- package/node_modules/tree-sitter/src/query.h +39 -0
- package/node_modules/tree-sitter/src/tree.cc +307 -0
- package/node_modules/tree-sitter/src/tree.h +45 -0
- package/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
- package/node_modules/tree-sitter/src/tree_cursor.h +52 -0
- package/node_modules/tree-sitter/tree-sitter.d.ts +211 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/LICENSE +21 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/README.md +21 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/README.md +6 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1266 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +290 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +501 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +221 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +299 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +419 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +49 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +14 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +774 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2151 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +230 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +62 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4134 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +899 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1060 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +382 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +165 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +714 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +50 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +23 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +109 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1294 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1823 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/test/fixtures/grammars/.gitkeep +0 -0
- package/node_modules/tree-sitter-c/LICENSE +21 -0
- package/node_modules/tree-sitter-c/README.md +18 -0
- package/node_modules/tree-sitter-c/binding.gyp +20 -0
- package/node_modules/tree-sitter-c/bindings/node/binding.cc +20 -0
- package/node_modules/tree-sitter-c/bindings/node/index.d.ts +28 -0
- package/node_modules/tree-sitter-c/bindings/node/index.js +7 -0
- package/node_modules/tree-sitter-c/grammar.js +1463 -0
- package/node_modules/tree-sitter-c/package.json +108 -0
- package/node_modules/tree-sitter-c/prebuilds/darwin-arm64/tree-sitter-c.node +0 -0
- package/node_modules/tree-sitter-c/prebuilds/darwin-x64/tree-sitter-c.node +0 -0
- package/node_modules/tree-sitter-c/prebuilds/linux-x64/tree-sitter-c.node +0 -0
- package/node_modules/tree-sitter-c/prebuilds/win32-x64/tree-sitter-c.node +0 -0
- package/node_modules/tree-sitter-c/queries/highlights.scm +81 -0
- package/node_modules/tree-sitter-c/queries/tags.scm +9 -0
- package/node_modules/tree-sitter-c/src/grammar.json +9682 -0
- package/node_modules/tree-sitter-c/src/node-types.json +4556 -0
- package/node_modules/tree-sitter-c/src/parser.c +113852 -0
- package/node_modules/tree-sitter-c/src/tree_sitter/alloc.h +54 -0
- package/node_modules/tree-sitter-c/src/tree_sitter/array.h +290 -0
- package/node_modules/tree-sitter-c/src/tree_sitter/parser.h +265 -0
- package/package.json +10 -3
- package/vendor/tree-sitter-0.21.1-node24.json +16 -0
- package/vendor/tree-sitter-0.21.1-node24.tgz +0 -0
- package/chunks/chunk-CGHCEN7W.js +0 -169
- package/chunks/chunk-CXKDWFNO.js +0 -102
- package/chunks/chunk-GIQKESMN.js +0 -687
- package/chunks/chunk-HPQZHOIU.js +0 -67
- package/chunks/chunk-PD2BBBKT.js +0 -245
- package/chunks/chunk-WF5W75WY.js +0 -1070
- package/chunks/fix-J2KBRJDV.js +0 -12
- package/chunks/orchestrate-DHBFRTSI.js +0 -59
- package/chunks/replay-runner-LK2XFIVG.js +0 -39
- package/dashboard/assets/bot-yILPnRgD.js +0 -1
- package/dashboard/assets/chevron-down-BeDJ-Vka.js +0 -1
- package/dashboard/assets/circle-alert-BEnMBMT-.js +0 -1
- package/dashboard/assets/client-DRYsuOGl.js +0 -9
- package/dashboard/assets/copy-Bi5vzoF9.js +0 -1
- package/dashboard/assets/desktop-BT7RkC4q.js +0 -32
- package/dashboard/assets/desktop-OaBI0E0e.css +0 -1
- package/dashboard/assets/dist-CmX-h7a4.js +0 -1
- package/dashboard/assets/dist-DAwYQmf_.js +0 -45
- package/dashboard/assets/findings-page-B4rwF6fZ.js +0 -5
- package/dashboard/assets/format-LNQSSpn6.js +0 -1
- package/dashboard/assets/jsx-runtime-C7oxC63R.js +0 -1
- package/dashboard/assets/live-page-DoNwpPAO.js +0 -1
- package/dashboard/assets/meta-tile-BMtBC-Qq.js +0 -1
- package/dashboard/assets/operations-app-ER0gg7GN.js +0 -2
- package/dashboard/assets/operations-e2CGYKB1.js +0 -4
- package/dashboard/assets/overview-page-CmeWH17A.js +0 -1
- package/dashboard/assets/page-header-CIJyycfz.js +0 -1
- package/dashboard/assets/play-Dwo-9xt6.js +0 -1
- package/dashboard/assets/scans-page-CuhzWhHx.js +0 -1
- package/dashboard/assets/search-CiooTLck.js +0 -1
- package/dashboard/assets/siren-CCBwTSuk.js +0 -1
- package/dashboard/assets/table-BgsSBdke.js +0 -1
- package/dashboard/assets/tabs-vn6v7Bk6.js +0 -1
- package/dashboard/desktop.html +0 -21
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.conversation-panel{background:var(--surface);flex-direction:column;height:100%;display:flex;position:relative}.conversation-scroll{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;overflow-y:auto}@media (prefers-reduced-motion:reduce){.conversation-scroll{scroll-behavior:auto}}.conversation-empty{flex-direction:column;justify-content:center;align-items:flex-start;max-width:540px;height:100%;margin:0 auto;padding:48px 32px;display:flex}.conversation-empty h2{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:500}.conversation-empty p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.5}.conversation-empty .empty-btn{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;transition:background .15s;display:inline-flex}.conversation-empty .empty-btn:hover{background:var(--hover)}.turn-block{padding:0 16px}.turn-block:first-child{margin-top:12px}.turn-block+.turn-block{margin-top:4px}.user-message{justify-content:flex-end;padding:4px 0;display:flex}.user-message .bubble{background:var(--hover);border:1px solid var(--line);max-width:75%;color:var(--text);word-wrap:break-word;white-space:pre-wrap;border-radius:12px;padding:8px 14px;font-size:14px;line-height:1.45}.assistant-message{padding:8px 0 4px}.assistant-message .message-body{color:var(--text);font-size:15px;line-height:1.6}.system-notice{color:var(--muted);align-items:flex-start;gap:6px;padding:3px 16px;font-size:12px;line-height:1.4;display:flex}.system-notice svg{opacity:.7;flex-shrink:0;margin-top:1px}.reasoning-block{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:6px 0;overflow:hidden}.reasoning-block summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:12px;list-style:none;display:flex}.reasoning-block summary::-webkit-details-marker{display:none}.reasoning-block summary .chevron{opacity:.5;margin-left:auto;transition:transform .15s}.reasoning-block[open] summary .chevron{transform:rotate(180deg)}.reasoning-block .reasoning-content{color:var(--muted);white-space:pre-wrap;padding:0 10px 8px;font-size:12px;line-height:1.5}.tool-call{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:4px 0;transition:border-color .2s;overflow:hidden}.tool-call.running{border-color:var(--accent);opacity:.85}.tool-call.error{border-color:var(--danger)}.tool-call-header{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;font-family:inherit;font-size:12px;display:flex}.tool-call-header:hover{background:var(--hover)}.tool-call-header .tool-name{font-weight:500;font-family:var(--mono);color:var(--accent);font-size:11px}.tool-call-header .tool-status{color:var(--muted);margin-left:4px;font-size:10px}.tool-call-header .chevron{opacity:.5;margin-left:auto;transition:transform .15s}.tool-call-header .chevron.open{transform:rotate(180deg)}.tool-call-body{border-top:1px solid var(--line);padding:8px 10px}.tool-call-body .section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px;font-size:10px;font-weight:500;display:block}.tool-call-body pre{background:var(--surface-raised);font-size:11px;line-height:1.4;font-family:var(--mono);border-radius:6px;margin:0 0 8px;padding:8px;overflow-x:auto}.tool-call-body pre:last-child{margin-bottom:0}.tool-call-body code{color:var(--text);font-family:inherit}.code-block-wrapper{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;margin:12px 0;position:relative;overflow:hidden}.code-block-header{background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-family:var(--mono);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.code-block-header .copy-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:10px;transition:background .1s;display:inline-flex}.code-block-header .copy-btn:hover{background:var(--hover);color:var(--text)}.code-block-header .copy-btn.copied{color:var(--accent)}.code-block-wrapper pre{font-size:12px;line-height:1.5;font-family:var(--mono);color:var(--text);margin:0;padding:12px 14px;overflow-x:auto}.code-block-wrapper code{font-family:inherit}.message-body p{margin:6px 0}.message-body p:first-child{margin-top:0}.message-body p:last-child{margin-bottom:0}.message-body ul,.message-body ol{margin:6px 0;padding-left:20px}.message-body li{margin:2px 0}.message-body a{color:var(--accent);text-decoration:none}.message-body a:hover{text-decoration:underline}.message-body blockquote{border-left:3px solid var(--line);color:var(--muted);margin:8px 0;padding:4px 12px}.message-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.message-body th,.message-body td{border:1px solid var(--line);text-align:left;padding:6px 10px}.message-body th{background:var(--surface-raised);font-weight:500}.message-body hr{border:none;border-top:1px solid var(--line);margin:12px 0}.message-body img{border-radius:6px;max-width:100%}.approval-panel{border:1px solid var(--accent);background:var(--surface-raised);border-radius:10px;margin:8px 0;padding:12px 14px}.approval-panel.resolved{border-color:var(--line);opacity:.7}.approval-panel.resolved.approved{opacity:1;border-color:#22c55e}.approval-panel.resolved.declined{opacity:.5;border-color:var(--danger)}.approval-header{align-items:flex-start;gap:8px;display:flex}.approval-header .approval-icon{flex-shrink:0;margin-top:1px}.approval-header .approval-title{color:var(--text);font-size:13px;font-weight:500}.approval-header .approval-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-left:auto;font-size:10px}.approval-detail{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.45}.approval-tool-preview{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:8px}.approval-tool-preview pre{font-size:11px;line-height:1.4;font-family:var(--mono);margin:0;overflow-x:auto}.approval-tool-preview code{color:var(--text)}.approval-actions{gap:8px;margin-top:10px;display:flex}.approval-actions button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:5px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:background .1s}.approval-actions button:hover{background:var(--hover)}.approval-actions .approve-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.approval-actions .approve-btn:hover{opacity:.9}.approval-actions .decline-btn:hover{border-color:var(--danger);color:var(--danger)}.approval-resolved-badge{color:var(--muted);align-items:center;gap:4px;margin-top:8px;font-size:12px;display:inline-flex}.approval-resolved-badge.approved{color:#22c55e}.approval-resolved-badge.declined{color:var(--danger)}.question-group{margin:8px 0}.question-item{margin:6px 0}.question-header{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:500}.question-text{color:var(--muted);margin-bottom:6px;font-size:12px;line-height:1.4}.question-options{flex-wrap:wrap;gap:4px;display:flex}.question-option{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;padding:3px 10px;font-family:inherit;font-size:11px;transition:all .1s}.question-option:hover{background:var(--hover)}.question-option.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.question-custom-input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:6px;min-height:36px;margin-top:6px;padding:6px 10px;font-family:inherit;font-size:12px}.question-custom-input:focus{border-color:var(--accent);outline:none}.turn-error{border:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);color:var(--danger);border-radius:8px;margin:6px 0;padding:8px 12px;font-size:13px;line-height:1.4}.turn-error.warning{color:#a16207;background:#eab30814;border-color:#eab308}.conversation-composer{border-top:1px solid var(--line);background:var(--surface);padding:8px 16px}.composer-row{align-items:flex-end;gap:6px;display:flex}.composer-textarea{resize:none;border:1px solid var(--line);background:var(--surface-raised);color:var(--text);border-radius:10px;outline:none;flex:1;min-height:36px;max-height:200px;padding:8px 12px;font-family:inherit;font-size:13px;line-height:1.45;transition:border-color .15s}.composer-textarea:focus{border-color:var(--accent)}.composer-textarea:disabled{opacity:.5;cursor:not-allowed}.composer-textarea::placeholder{color:var(--faint)}.composer-actions{flex-shrink:0;gap:4px;padding-bottom:2px;display:flex}.composer-action-btn{border:1px solid var(--line);background:var(--surface-raised);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .1s;display:flex}.composer-action-btn:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.composer-action-btn:disabled{opacity:.35;cursor:not-allowed}.composer-action-btn.send-btn:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.composer-action-btn.stop-btn{color:var(--danger);border-color:var(--danger)}.composer-action-btn.stop-btn:hover{background:var(--danger);color:#fff}.bottom-context-row{color:var(--faint);border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:4px 16px 6px;font-size:11px;display:flex}.bottom-context-row .context-left{align-items:center;gap:8px;display:flex}.bottom-context-row .context-badge{background:var(--surface-raised);border:1px solid var(--line);text-transform:capitalize;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.bottom-context-row .context-actions{align-items:center;gap:4px;display:flex}.bottom-context-row .context-action-btn{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-family:inherit;font-size:10px;transition:all .1s;display:inline-flex}.bottom-context-row .context-action-btn:hover{color:var(--text);background:var(--hover)}.jump-to-latest{z-index:10;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.jump-to-latest button{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:500;transition:background .1s;display:inline-flex;box-shadow:0 2px 8px #00000014}.jump-to-latest button:hover{background:var(--hover)}.inspector{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;width:280px;height:100%;display:flex}.inspector-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.inspector-header h3{color:var(--text);margin:0;font-size:13px;font-weight:500}.inspector-header .close-btn{width:24px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.inspector-header .close-btn:hover{background:var(--hover);color:var(--text)}.inspector-tabs{border-bottom:1px solid var(--line);display:flex}.inspector-tab{color:var(--faint);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 6px;font-family:inherit;font-size:11px;font-weight:500;transition:all .1s}.inspector-tab:hover{color:var(--text);background:var(--hover)}.inspector-tab.active{color:var(--text);border-bottom-color:var(--accent)}.inspector-content{flex:1;padding:12px;overflow-y:auto}.inspect-section{margin-bottom:14px}.inspect-section:last-child{margin-bottom:0}.inspect-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-bottom:6px;font-size:10px;font-weight:600}.inspect-row{color:var(--text);justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.inspect-row .inspect-label{color:var(--muted)}.inspect-row .inspect-value{text-transform:capitalize;font-weight:500}.inspect-row .inspect-badge{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.inspect-badge.ready{color:#22c55e;background:#22c55e20}.inspect-badge.working{background:var(--accent);color:#fff}.inspect-badge.waiting{color:#a16207;background:#eab30820}.inspect-badge.closed{background:var(--surface-raised);color:var(--muted)}.inspect-badge.failed{background:var(--danger);color:#fff}.inspect-bar{background:var(--surface-raised);border-radius:2px;height:4px;margin:4px 0;overflow:hidden}.inspect-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.evidence-list{flex-direction:column;gap:6px;display:flex}.evidence-item{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:11px;line-height:1.4}.evidence-item .ev-tool-name{font-family:var(--mono);color:var(--accent);font-weight:500}.evidence-item .ev-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.evidence-item .ev-result{font-family:var(--mono);color:var(--muted);background:var(--surface-raised);border-radius:4px;max-height:60px;margin-top:4px;padding:3px 6px;font-size:10px;overflow-y:auto}@media (width<=760px){.turn-block{padding:0 10px}.conversation-composer{padding:6px 10px}.user-message .bubble{max-width:90%}.inspector{width:220px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}:root{--background:#f5f5f3;--surface:#fff;--surface-raised:#fff;--line:#e5e5e3;--text:#161615;--muted:#8a8a88;--faint:#c0c0be;--hover:#eaeae8;--selected:#d4d4d2;--accent:#fd802e;--accent-fg:#1a1815;--danger:#d13838;--danger-bg:#fef2f2;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:15px;--fs-xl:18px;--fs-2xl:22px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--titlebar-height:44px;--tab-height:32px;--sidebar-width:220px;--inspector-width:320px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 8px 24px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--background:#161615;--surface:#1c1c1b;--surface-raised:#222221;--line:#2a2a28;--text:#e8e8e6;--muted:#a1a19d;--faint:#8a8a86;--hover:#282827;--selected:#333332;--accent:#fd802e;--accent-fg:#1a1815;--danger:#e54848;--danger-bg:#2d1515;--shadow-sm:0 1px 2px #0000001f;--shadow-md:0 2px 8px #0003;--shadow-lg:0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;line-height:1.5}[contenteditable],input,textarea,select,.selectable{-webkit-user-select:text;user-select:text}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.titlebar{height:var(--titlebar-height);-webkit-app-region:drag;background:var(--background);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;padding:0 8px;display:flex}.titlebar-title{text-align:center;width:100%;font-size:12px;font-weight:600}.titlebar.macos{padding-inline:96px}.titlebar-leading{flex-shrink:0;width:96px}.titlebar-center{-webkit-app-region:drag;flex:1;justify-content:center;align-items:center;display:flex}.titlebar-trailing{-webkit-app-region:no-drag;align-items:center;gap:4px;display:flex}.tab-bar{height:var(--tab-height);background:var(--background);border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-app-region:no-drag;flex-shrink:0;align-items:stretch;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab{font-size:var(--fs-sm);color:var(--muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;white-space:nowrap;-webkit-app-region:no-drag;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-bottom:none;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;transition:color .12s,background .12s;display:flex;position:relative}.tab:hover{color:var(--text);background:var(--hover)}.tab.active{color:var(--text);background:var(--surface);border-color:var(--line)}.tab.active:after{content:"";background:var(--surface);height:1px;position:absolute;bottom:-1px;left:0;right:0}.tab.home-tab{padding:0 12px}.tab .tab-icon{opacity:.6;flex-shrink:0;width:14px;height:14px}.tab.active .tab-icon{opacity:.9}.tab>[role=tab]{max-width:220px;height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:flex}.tab>[role=tab] span{text-overflow:ellipsis;overflow:hidden}.workspace-toolbar{align-items:center;gap:4px;margin-left:auto;padding-left:12px;display:flex}.tab-close:focus-visible{opacity:1}.tab-close{width:16px;height:16px;color:var(--faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:flex}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{background:var(--hover);color:var(--text)}.tab-close svg{width:10px;height:10px}.new-tab-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--faint);cursor:pointer;-webkit-app-region:no-drag;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;transition:color .12s,background .12s;display:flex}.new-tab-btn:hover{color:var(--text);background:var(--hover)}.new-tab-btn svg{width:14px;height:14px}.workspace{background:var(--surface);flex:1;display:flex;overflow:hidden}.session-sidebar{width:var(--sidebar-width);background:var(--background);border-right:1px solid var(--line);font-size:var(--fs-sm);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.session-sidebar.collapsed{border-right:none;width:0}.sidebar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.sidebar-header h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.sidebar-scroll{flex:1;padding:4px 8px;overflow-y:auto}.target-group{margin-bottom:8px}.target-group-header{font-size:var(--fs-xs);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:6px;padding:4px 4px 4px 8px;font-weight:500;transition:background .1s;display:flex}.target-group-header:hover{background:var(--hover)}.target-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:4px 8px;font-family:inherit;transition:background .1s;display:flex}.target-item.active{background:var(--hover);font-weight:500}.session-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-empty{color:var(--muted);padding:16px}.sidebar-operations{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px;text-decoration:none;display:flex}.home-recent-item{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0}.target-item:hover{background:var(--hover)}.target-item .target-status{border-radius:50%;flex-shrink:0;width:6px;height:6px}.target-status.ready{background:#22c55e}.target-status.working{background:#f59e0b}.target-status.waiting{background:#6366f1}.target-status.closed{background:var(--faint)}.target-status.failed{background:var(--danger)}.sidebar-filter{padding:0 8px 8px}.sidebar-filter input{width:100%;font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-sans);outline:none;padding:4px 8px}.sidebar-filter input:focus{border-color:var(--accent)}.session-content{flex:1;min-width:0;display:flex;overflow:hidden}.session-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.session-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.session-title-area{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.session-title-area .session-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.session-title-input{font-size:var(--fs-md);color:var(--text);min-width:40px;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-sm);background:0 0;border:none;outline:none;flex:1;padding:2px 4px;transition:background .1s}.session-title-input:hover{background:var(--hover)}.session-title-input:focus{background:var(--surface);box-shadow:0 0 0 1px var(--accent)}.session-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.session-header-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s,background .1s;display:flex}.session-header-btn:hover{color:var(--text);background:var(--hover)}.session-header-btn svg{width:15px;height:15px}.session-header-btn.active{color:var(--accent);background:var(--selected)}.inspector-panel{width:var(--inspector-width);background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.inspector-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.inspector-header h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.inspector-close{width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.inspector-close:hover{color:var(--text);background:var(--hover)}.inspector-close svg{width:13px;height:13px}.home-page{flex:1;display:flex;overflow:hidden}.home-projects{border-right:1px solid var(--line);background:var(--background);flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:hidden}.home-projects-header{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:14px 14px 8px;font-weight:600}.home-projects-list{flex:1;padding:4px 8px;overflow-y:auto}.home-project-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:6px 8px;transition:background .1s;display:flex;overflow:hidden}.home-project-item:hover{background:var(--hover)}.home-project-item svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.home-project-add{color:var(--muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:6px 8px;transition:color .1s,background .1s;display:flex}.home-project-add:hover{color:var(--text);background:var(--hover)}.home-project-add svg{width:12px;height:12px}.home-main{flex-direction:column;flex:1;min-width:0;padding:24px 32px;display:flex;overflow:hidden auto}.home-greeting{font-size:var(--fs-2xl);margin-bottom:4px;font-weight:500}.home-subtitle{font-size:var(--fs-md);color:var(--muted);margin-bottom:24px}.home-actions{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.home-section-title{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-weight:600}.home-search{margin-bottom:12px;padding:8px 12px}.home-search-input{width:100%;font-size:var(--fs-base);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);outline:none;padding:7px 12px;transition:border-color .1s}.home-search-input:focus{border-color:var(--accent)}.home-search-input::placeholder{color:var(--faint)}.home-recent-list{flex-direction:column;gap:2px;display:flex}.home-recent-item{border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .1s;display:flex}.home-recent-item:hover{background:var(--hover)}.home-recent-item .recent-title{font-size:var(--fs-base);color:var(--text);font-weight:450}.home-recent-item .recent-meta{font-size:var(--fs-xs);color:var(--muted)}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.empty-state-icon{width:32px;height:32px;color:var(--faint)}.empty-state h2{font-size:var(--fs-xl);color:var(--text);font-weight:500}.empty-state p{font-size:var(--fs-sm);color:var(--muted);max-width:320px;line-height:1.5}.empty-state .home-actions{margin-bottom:0}.btn{font-size:var(--fs-sm);font-family:var(--font-sans);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-weight:500;line-height:1.4;transition:background .1s,border-color .1s,box-shadow .1s;display:inline-flex}.btn:hover{background:var(--hover)}.btn:active{background:var(--selected)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{filter:brightness(.95)}.btn-ghost{color:var(--text);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hover);border-color:#0000}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-bg)}.btn-sm{font-size:var(--fs-xs);padding:4px 10px}.btn-icon{min-width:28px;height:28px;padding:4px}.dialog-overlay{z-index:100;background:#0000004d;justify-content:center;align-items:center;animation:.1s ease-out fadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .dialog-overlay{background:#00000080}.dialog-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:101;flex-direction:column;width:480px;max-width:calc(100vw - 48px);max-height:calc(100vh - 80px);animation:.12s ease-out scaleIn;display:flex;position:fixed;top:50%;left:50%;overflow:auto;translate:-50% -50%}.auth-output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;font:11px var(--font-mono);background:var(--background);border-radius:6px;margin-block:12px;padding:12px;overflow:auto}.dialog-content:focus{outline:none}.dialog-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.dialog-header h2{font-size:var(--fs-lg);color:var(--text);font-weight:550}.dialog-close{width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s,background .1s;display:flex}.dialog-close:hover{color:var(--text);background:var(--hover)}.dialog-close svg{width:14px;height:14px}.dialog-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.dialog-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 16px;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.form-label .required{color:var(--danger);margin-left:2px}.form-hint{font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.form-warning{font-size:var(--fs-xs);color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:6px 10px;line-height:1.4}.form-warning strong{font-weight:600}.form-input,.form-select{font-size:var(--fs-base);font-family:var(--font-sans);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);outline:none;padding:7px 10px;transition:border-color .1s}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0059b31a}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-select:focus{box-shadow:0 0 0 2px #4d9eff26}.form-input::placeholder{color:var(--faint)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a8a88' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a7a78' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.input-with-action{gap:6px;display:flex}.input-with-action .form-input{flex:1}.settings-dialog .dialog-content{width:560px}.settings-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:0;padding:0 20px;display:flex}.settings-tab{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;font-weight:450;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;transition:color .1s,border-color .1s}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-section{flex-direction:column;gap:16px;padding:0;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.settings-row-info{flex:1;min-width:0}.settings-row-label{font-size:var(--fs-base);color:var(--text);font-weight:450}.settings-row-desc{font-size:var(--fs-xs);color:var(--muted);margin-top:2px}.theme-options{gap:4px;display:flex}.theme-option{font-size:var(--fs-sm);font-family:var(--font-sans);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:var(--radius-sm);padding:4px 12px;transition:background .1s,border-color .1s}.theme-option:hover{background:var(--hover)}.theme-option.active{border-color:var(--accent);background:var(--selected)}.codex-status{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.codex-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.codex-dot.idle{background:var(--faint)}.codex-dot.running{background:#f59e0b}.codex-dot.connected{background:#22c55e}.codex-dot.cancelled{background:var(--muted)}.codex-dot.failed{background:var(--danger)}.shortcuts-list{flex-direction:column;gap:2px;display:flex}.shortcut-row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.shortcut-keys{align-items:center;gap:4px;display:flex}kbd{font-size:var(--fs-xs);font-family:var(--font-mono);background:var(--hover);border:1px solid var(--line);min-width:20px;height:20px;color:var(--text);border-radius:3px;justify-content:center;align-items:center;padding:2px 6px;line-height:1;display:inline-flex}.cmdk-overlay{z-index:200;background:#00000040;justify-content:center;align-items:flex-start;padding-top:80px;animation:80ms ease-out fadeIn;display:flex;position:fixed;inset:0}[data-theme=dark] .cmdk-overlay{background:#00000073}.cmdk-dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:520px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-lg);animation:.1s ease-out scaleIn;overflow:hidden}.cmdk-input{width:100%;font-size:var(--fs-lg);font-family:var(--font-sans);border:none;border-bottom:1px solid var(--line);color:var(--text);background:0 0;outline:none;padding:12px 16px}.cmdk-input::placeholder{color:var(--faint)}.cmdk-list{max-height:320px;padding:4px;overflow-y:auto}.cmdk-group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 12px 4px;font-weight:600}.cmdk-item{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;transition:background 60ms;display:flex}.cmdk-item[data-highlighted]{background:var(--hover)}.cmdk-item[data-disabled]{color:var(--faint);pointer-events:none}.cmdk-item svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.cmdk-item .cmdk-item-shortcut{font-size:var(--fs-xs);color:var(--faint);margin-left:auto}.cmdk-empty{text-align:center;color:var(--muted);font-size:var(--fs-sm);padding:16px}.error-banner{background:var(--danger-bg);border-bottom:1px solid var(--danger);font-size:var(--fs-sm);color:var(--danger);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;animation:.15s ease-out slideDown;display:flex}.error-banner svg{flex-shrink:0;width:14px;height:14px}.error-banner-text{flex:1;min-width:0}.error-banner-actions{flex-shrink:0;gap:6px;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.spinner-sm{border-width:1.5px;width:12px;height:12px}.loading-shell,.error-shell{height:100%;color:var(--muted);font-size:var(--fs-sm);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.error-shell{color:var(--danger)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--faint);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-corner{background:0 0}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@media (width<=900px){.inspector-panel{width:280px}}@media (width<=760px){.session-sidebar:not(.collapsed){width:180px}.home-projects{display:none}.home-main{padding:16px 20px}.dialog-content{width:calc(100vw - 24px);max-height:calc(100vh - 40px)}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{n as r}from"./client-DRYsuOGl.js";var i=e(t(),1),a=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),o=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),s=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),c=e=>{let t=s(e);return t.charAt(0).toUpperCase()+t.slice(1)},l={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},u=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},d=(0,i.createContext)({}),f=()=>(0,i.useContext)(d),p=(0,i.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:o=``,children:s,iconNode:c,...d},p)=>{let{size:m=24,strokeWidth:h=2,absoluteStrokeWidth:g=!1,color:_=`currentColor`,className:v=``}=f()??{},y=r??g?Number(n??h)*24/Number(t??m):n??h;return(0,i.createElement)(`svg`,{ref:p,...l,width:t??m??l.width,height:t??m??l.height,stroke:e??_,strokeWidth:y,className:a(`lucide`,v,o),...!s&&!u(d)&&{"aria-hidden":`true`},...d},[...c.map(([e,t])=>(0,i.createElement)(e,t)),...Array.isArray(s)?s:[s]])}),m=(e,t)=>{let n=(0,i.forwardRef)(({className:n,...r},s)=>(0,i.createElement)(p,{ref:s,iconNode:t,className:a(`lucide-${o(c(e))}`,`lucide-${e}`,n),...r}));return n.displayName=c(e),n},h=m(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]);typeof window<`u`&&window.document&&window.document.createElement;function g(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var _=e(r(),1),v=n();function y(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function b(...e){return t=>{let n=!1,r=e.map(e=>{let r=y(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():y(e[t],null)}}}}function x(...e){return i.useCallback(b(...e),e)}function S(e,t){let n=i.createContext(t),r=e=>{let{children:t,...r}=e,a=i.useMemo(()=>r,Object.values(r));return(0,v.jsx)(n.Provider,{value:a,children:t})};r.displayName=e+`Provider`;function a(r){let a=i.useContext(n);if(a)return a;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,a]}function C(e,t=[]){let n=[];function r(t,r){let a=i.createContext(r),o=n.length;n=[...n,r];let s=t=>{let{scope:n,children:r,...s}=t,c=n?.[e]?.[o]||a,l=i.useMemo(()=>s,Object.values(s));return(0,v.jsx)(c.Provider,{value:l,children:r})};s.displayName=t+`Provider`;function c(n,s){let c=s?.[e]?.[o]||a,l=i.useContext(c);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[s,c]}let a=()=>{let t=n.map(e=>i.createContext(e));return function(n){let r=n?.[e]||t;return i.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return a.scopeName=e,[r,w(a,...t)]}function w(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return i.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var T=globalThis?.document?i.useLayoutEffect:()=>{},E=i.useId||(()=>void 0),D=0;function O(e){let[t,n]=i.useState(E());return T(()=>{e||n(e=>e??String(D++))},[e]),e||(t?`radix-${t}`:``)}var k=i.useInsertionEffect||T;function A({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[a,o,s]=j({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:a;{let t=i.useRef(e!==void 0);i.useEffect(()=>{let e=t.current;e!==c&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${c?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=c},[c,r])}return[l,i.useCallback(t=>{if(c){let n=M(t)?t(e):t;n!==e&&s.current?.(n)}else o(t)},[c,e,o,s])]}function j({defaultProp:e,onChange:t}){let[n,r]=i.useState(e),a=i.useRef(n),o=i.useRef(t);return k(()=>{o.current=t},[t]),i.useEffect(()=>{a.current!==n&&(o.current?.(n),a.current=n)},[n,a]),[n,r,o]}function M(e){return typeof e==`function`}function N(e){let t=P(e),n=i.forwardRef((e,n)=>{let{children:r,...a}=e,o=i.Children.toArray(r),s=o.find(I);if(s){let e=s.props.children,r=o.map(t=>t===s?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t);return(0,v.jsx)(t,{...a,ref:n,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,v.jsx)(t,{...a,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function P(e){let t=i.forwardRef((e,t)=>{let{children:n,...r}=e;if(i.isValidElement(n)){let e=R(n),a=L(r,n.props);return n.type!==i.Fragment&&(a.ref=t?b(t,e):e),i.cloneElement(n,a)}return i.Children.count(n)>1?i.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var F=Symbol(`radix.slottable`);function I(e){return i.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===F}function L(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function R(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var z=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=N(`Primitive.${t}`),r=i.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,v.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function B(e,t){e&&_.flushSync(()=>e.dispatchEvent(t))}function V(e){let t=i.useRef(e);return i.useEffect(()=>{t.current=e}),i.useMemo(()=>(...e)=>t.current?.(...e),[])}function H(e,t){return i.useReducer((e,n)=>t[e][n]??e,e)}var U=e=>{let{present:t,children:n}=e,r=W(t),a=typeof n==`function`?n({present:r.isPresent}):i.Children.only(n),o=x(r.ref,K(a));return typeof n==`function`||r.isPresent?i.cloneElement(a,{ref:o}):null};U.displayName=`Presence`;function W(e){let[t,n]=i.useState(),r=i.useRef(null),a=i.useRef(e),o=i.useRef(`none`),[s,c]=H(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return i.useEffect(()=>{let e=G(r.current);o.current=s===`mounted`?e:`none`},[s]),T(()=>{let t=r.current,n=a.current;if(n!==e){let r=o.current,i=G(t);e?c(`MOUNT`):i===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==i?`ANIMATION_OUT`:`UNMOUNT`),a.current=e}},[e,c]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,i=i=>{let o=G(r.current).includes(CSS.escape(i.animationName));if(i.target===t&&o&&(c(`ANIMATION_END`),!a.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(o.current=G(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,i),t.addEventListener(`animationend`,i),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,i),t.removeEventListener(`animationend`,i)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:i.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function G(e){return e?.animationName||`none`}function K(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var q=Symbol.for(`react.lazy`),J=i.use;function Y(e){return typeof e==`object`&&!!e&&`then`in e}function X(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===q&&`_payload`in e&&Y(e._payload)}function Z(e){let t=$(e),n=i.forwardRef((e,n)=>{let{children:r,...a}=e;X(r)&&typeof J==`function`&&(r=J(r._payload));let o=i.Children.toArray(r),s=o.find(te);if(s){let e=s.props.children,r=o.map(t=>t===s?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t);return(0,v.jsx)(t,{...a,ref:n,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,v.jsx)(t,{...a,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var Q=Z(`Slot`);function $(e){let t=i.forwardRef((e,t)=>{let{children:n,...r}=e;if(X(n)&&typeof J==`function`&&(n=J(n._payload)),i.isValidElement(n)){let e=re(n),a=ne(r,n.props);return n.type!==i.Fragment&&(a.ref=t?b(t,e):e),i.cloneElement(n,a)}return i.Children.count(n)>1?i.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ee=Symbol(`radix.slottable`);function te(e){return i.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===ee}function ne(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function re(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}export{m as _,z as a,A as c,S as d,C as f,h as g,g as h,V as i,O as l,x as m,Z as n,B as o,b as p,U as r,N as s,Q as t,T as u};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{n as r}from"./client-DRYsuOGl.js";import{_ as i,a,c as o,d as s,f as c,h as l,i as u,l as d,m as f,o as p,r as m,s as h,u as g}from"./dist-CmX-h7a4.js";var _=i(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),v=i(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),y=e(t(),1);function ee(e,t=globalThis?.document){let n=u(e);y.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var b=n(),x=`DismissableLayer`,S=`dismissableLayer.update`,C=`dismissableLayer.pointerDownOutside`,w=`dismissableLayer.focusOutside`,te,ne=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),T=y.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...u}=e,d=y.useContext(ne),[p,m]=y.useState(null),h=p?.ownerDocument??globalThis?.document,[,g]=y.useState({}),_=f(t,e=>m(e)),v=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),C=v.indexOf(x),w=p?v.indexOf(p):-1,T=d.layersWithOutsidePointerEventsDisabled.size>0,E=w>=C,re=ie(e=>{let t=e.target,n=[...d.branches].some(e=>e.contains(t));!E||n||(i?.(e),s?.(e),e.defaultPrevented||c?.())},h),D=ae(e=>{let t=e.target;[...d.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},h);return ee(e=>{w===d.layers.size-1&&(r?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))},h),y.useEffect(()=>{if(p)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(te=h.body.style.pointerEvents,h.body.style.pointerEvents=`none`),d.layersWithOutsidePointerEventsDisabled.add(p)),d.layers.add(p),oe(),()=>{n&&d.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=te)}},[p,h,n,d]),y.useEffect(()=>()=>{p&&(d.layers.delete(p),d.layersWithOutsidePointerEventsDisabled.delete(p),oe())},[p,d]),y.useEffect(()=>{let e=()=>g({});return document.addEventListener(S,e),()=>document.removeEventListener(S,e)},[]),(0,b.jsx)(a.div,{...u,ref:_,style:{pointerEvents:T?E?`auto`:`none`:void 0,...e.style},onFocusCapture:l(e.onFocusCapture,D.onFocusCapture),onBlurCapture:l(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:l(e.onPointerDownCapture,re.onPointerDownCapture)})});T.displayName=x;var E=`DismissableLayerBranch`,re=y.forwardRef((e,t)=>{let n=y.useContext(ne),r=y.useRef(null),i=f(t,r);return y.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,b.jsx)(a.div,{...e,ref:i})});re.displayName=E;function ie(e,t=globalThis?.document){let n=u(e),r=y.useRef(!1),i=y.useRef(()=>{});return y.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){D(C,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function ae(e,t=globalThis?.document){let n=u(e),r=y.useRef(!1);return y.useEffect(()=>{let e=e=>{e.target&&!r.current&&D(w,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function oe(){let e=new CustomEvent(S);document.dispatchEvent(e)}function D(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?p(i,a):i.dispatchEvent(a)}var O=`focusScope.autoFocusOnMount`,k=`focusScope.autoFocusOnUnmount`,se={bubbles:!1,cancelable:!0},ce=`FocusScope`,le=y.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[c,l]=y.useState(null),d=u(i),p=u(o),m=y.useRef(null),h=f(t,e=>l(e)),g=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let e=function(e){if(g.paused||!c)return;let t=e.target;c.contains(t)?m.current=t:A(m.current,{select:!0})},t=function(e){if(g.paused||!c)return;let t=e.relatedTarget;t!==null&&(c.contains(t)||A(m.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&A(c)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,c,g.paused]),y.useEffect(()=>{if(c){ge.add(g);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(O,se);c.addEventListener(O,d),c.dispatchEvent(t),t.defaultPrevented||(ue(ye(fe(c)),{select:!0}),document.activeElement===e&&A(c))}return()=>{c.removeEventListener(O,d),setTimeout(()=>{let t=new CustomEvent(k,se);c.addEventListener(k,p),c.dispatchEvent(t),t.defaultPrevented||A(e??document.body,{select:!0}),c.removeEventListener(k,p),ge.remove(g)},0)}}},[c,d,p,g]);let _=y.useCallback(e=>{if(!n&&!r||g.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=de(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&A(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&A(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,g.paused]);return(0,b.jsx)(a.div,{tabIndex:-1,...s,ref:h,onKeyDown:_})});le.displayName=ce;function ue(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(A(r,{select:t}),document.activeElement!==n)return}function de(e){let t=fe(e);return[pe(t,e),pe(t.reverse(),e)]}function fe(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function pe(e,t){for(let n of e)if(!me(n,{upTo:t}))return n}function me(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function he(e){return e instanceof HTMLInputElement&&`select`in e}function A(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&he(e)&&t&&e.select()}}var ge=_e();function _e(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ve(e,t),e.unshift(t)},remove(t){e=ve(e,t),e[0]?.resume()}}}function ve(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ye(e){return e.filter(e=>e.tagName!==`A`)}var be=e(r(),1),xe=`Portal`,Se=y.forwardRef((e,t)=>{let{container:n,...r}=e,[i,o]=y.useState(!1);g(()=>o(!0),[]);let s=n||i&&globalThis?.document?.body;return s?be.createPortal((0,b.jsx)(a.div,{...r,ref:t}),s):null});Se.displayName=xe;var Ce=0;function we(){y.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??Te()),document.body.insertAdjacentElement(`beforeend`,e[1]??Te()),Ce++,()=>{Ce===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),Ce--}},[])}function Te(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var j=function(){return j=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},j.apply(this,arguments)};function Ee(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function De(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var M=`right-scroll-bar-position`,N=`width-before-scroll-bar`,Oe=`with-scroll-bars-hidden`,ke=`--removed-body-scroll-bar-size`;function P(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Ae(e,t){var n=(0,y.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var je=typeof window<`u`?y.useLayoutEffect:y.useEffect,Me=new WeakMap;function Ne(e,t){var n=Ae(t||null,function(t){return e.forEach(function(e){return P(e,t)})});return je(function(){var t=Me.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||P(e,null)}),i.forEach(function(e){r.has(e)||P(e,a)})}Me.set(n,e)},[e]),n}function Pe(e){return e}function Fe(e,t){t===void 0&&(t=Pe);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ie(e){e===void 0&&(e={});var t=Fe(null);return t.options=j({async:!0,ssr:!1},e),t}var Le=function(e){var t=e.sideCar,n=Ee(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return y.createElement(r,j({},n))};Le.isSideCarExport=!0;function Re(e,t){return e.useMedium(t),Le}var ze=Ie(),F=function(){},I=y.forwardRef(function(e,t){var n=y.useRef(null),r=y.useState({onScrollCapture:F,onWheelCapture:F,onTouchMoveCapture:F}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,ee=e.gapMode,b=Ee(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=Ne([n,t]),C=j(j({},b),i);return y.createElement(y.Fragment,null,u&&y.createElement(x,{sideCar:ze,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:ee}),o?y.cloneElement(y.Children.only(s),j(j({},C),{ref:S})):y.createElement(v,j({},C,{className:c,ref:S}),s))});I.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},I.classNames={fullWidth:N,zeroRight:M};var Be=function(){if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Ve(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Be();return t&&e.setAttribute(`nonce`,t),e}function He(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Ue(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var We=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Ve())&&(He(t,n),Ue(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Ge=function(){var e=We();return function(t,n){y.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Ke=function(){var e=Ge();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},qe={left:0,top:0,right:0,gap:0},L=function(e){return parseInt(e||``,10)||0},Je=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[L(n),L(r),L(i)]},Ye=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return qe;var t=Je(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Xe=Ke(),R=`data-scroll-locked`,Ze=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
|
-
.${Oe} {
|
|
3
|
-
overflow: hidden ${r};
|
|
4
|
-
padding-right: ${s}px ${r};
|
|
5
|
-
}
|
|
6
|
-
body[${R}] {
|
|
7
|
-
overflow: hidden ${r};
|
|
8
|
-
overscroll-behavior: contain;
|
|
9
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
10
|
-
padding-left: ${i}px;
|
|
11
|
-
padding-top: ${a}px;
|
|
12
|
-
padding-right: ${o}px;
|
|
13
|
-
margin-left:0;
|
|
14
|
-
margin-top:0;
|
|
15
|
-
margin-right: ${s}px ${r};
|
|
16
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.${M} {
|
|
20
|
-
right: ${s}px ${r};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.${N} {
|
|
24
|
-
margin-right: ${s}px ${r};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.${M} .${M} {
|
|
28
|
-
right: 0 ${r};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.${N} .${N} {
|
|
32
|
-
margin-right: 0 ${r};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
body[${R}] {
|
|
36
|
-
${ke}: ${s}px;
|
|
37
|
-
}
|
|
38
|
-
`},Qe=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},$e=function(){y.useEffect(function(){return document.body.setAttribute(R,(Qe()+1).toString()),function(){var e=Qe()-1;e<=0?document.body.removeAttribute(R):document.body.setAttribute(R,e.toString())}},[])},et=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;$e();var a=y.useMemo(function(){return Ye(i)},[i]);return y.createElement(Xe,{styles:Ze(a,!t,i,n?``:`!important`)})},z=!1;if(typeof window<`u`)try{var B=Object.defineProperty({},"passive",{get:function(){return z=!0,!0}});window.addEventListener(`test`,B,B),window.removeEventListener(`test`,B,B)}catch{z=!1}var V=z?{passive:!1}:!1,tt=function(e){return e.tagName===`TEXTAREA`},nt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!tt(e)&&n[t]===`visible`)},rt=function(e){return nt(e,`overflowY`)},it=function(e){return nt(e,`overflowX`)},at=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),ct(e,r)){var i=lt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},ot=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},st=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},ct=function(e,t){return e===`v`?rt(t):it(t)},lt=function(e,t){return e===`v`?ot(t):st(t)},ut=function(e,t){return e===`h`&&t===`rtl`?-1:1},dt=function(e,t,n,r,i){var a=ut(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=lt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&ct(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},H=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ft=function(e){return[e.deltaX,e.deltaY]},pt=function(e){return e&&`current`in e?e.current:e},mt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ht=function(e){return`
|
|
39
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
40
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
41
|
-
`},gt=0,U=[];function _t(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(gt++)[0],a=y.useState(Ke)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=De([e.lockRef.current],(e.shards||[]).map(pt),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=H(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=at(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=at(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return dt(h,t,e,h===`h`?s:c,!0)},[]),c=y.useCallback(function(e){var n=e;if(!(!U.length||U[U.length-1]!==a)){var r=`deltaY`in n?ft(n):H(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&mt(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(pt).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=y.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:vt(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=y.useCallback(function(e){n.current=H(e),r.current=void 0},[]),d=y.useCallback(function(t){l(t.type,ft(t),t.target,s(t,e.lockRef.current))},[]),f=y.useCallback(function(t){l(t.type,H(t),t.target,s(t,e.lockRef.current))},[]);y.useEffect(function(){return U.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,V),document.addEventListener(`touchmove`,c,V),document.addEventListener(`touchstart`,u,V),function(){U=U.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,V),document.removeEventListener(`touchmove`,c,V),document.removeEventListener(`touchstart`,u,V)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(a,{styles:ht(i)}):null,p?y.createElement(et,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function vt(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var yt=Re(ze,_t),bt=y.forwardRef(function(e,t){return y.createElement(I,j({},e,{ref:t,sideCar:yt}))});bt.classNames=I.classNames;var xt=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},W=new WeakMap,G=new WeakMap,K={},q=0,St=function(e){return e&&(e.host||St(e.parentNode))},Ct=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=St(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},wt=function(e,t,n,r){var i=Ct(t,Array.isArray(e)?e:[e]);K[n]||(K[n]=new WeakMap);var a=K[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(W.get(e)||0)+1,l=(a.get(e)||0)+1;W.set(e,c),a.set(e,l),o.push(e),c===1&&i&&G.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),q++,function(){o.forEach(function(e){var t=W.get(e)-1,i=a.get(e)-1;W.set(e,t),a.set(e,i),t||(G.has(e)||e.removeAttribute(r),G.delete(e)),i||e.removeAttribute(n)}),q--,q||(W=new WeakMap,W=new WeakMap,G=new WeakMap,K={})}},Tt=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||xt(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),wt(r,i,n,`aria-hidden`)):function(){return null}},J=`Dialog`,[Et,Dt]=c(J),[Ot,Y]=Et(J),kt=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:s=!0}=e,c=y.useRef(null),l=y.useRef(null),[u,f]=o({prop:r,defaultProp:i??!1,onChange:a,caller:J});return(0,b.jsx)(Ot,{scope:t,triggerRef:c,contentRef:l,contentId:d(),titleId:d(),descriptionId:d(),open:u,onOpenChange:f,onOpenToggle:y.useCallback(()=>f(e=>!e),[f]),modal:s,children:n})};kt.displayName=J;var At=`DialogTrigger`,jt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(At,n),o=f(t,i.triggerRef);return(0,b.jsx)(a.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":$(i.open),...r,ref:o,onClick:l(e.onClick,i.onOpenToggle)})});jt.displayName=At;var X=`DialogPortal`,[Mt,Nt]=Et(X,{forceMount:void 0}),Pt=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=Y(X,t);return(0,b.jsx)(Mt,{scope:t,forceMount:n,children:y.Children.map(r,e=>(0,b.jsx)(m,{present:n||a.open,children:(0,b.jsx)(Se,{asChild:!0,container:i,children:e})}))})};Pt.displayName=X;var Z=`DialogOverlay`,Ft=y.forwardRef((e,t)=>{let n=Nt(Z,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Y(Z,e.__scopeDialog);return a.modal?(0,b.jsx)(m,{present:r||a.open,children:(0,b.jsx)(Lt,{...i,ref:t})}):null});Ft.displayName=Z;var It=h(`DialogOverlay.RemoveScroll`),Lt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Z,n);return(0,b.jsx)(bt,{as:It,allowPinchZoom:!0,shards:[i.contentRef],children:(0,b.jsx)(a.div,{"data-state":$(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),Q=`DialogContent`,Rt=y.forwardRef((e,t)=>{let n=Nt(Q,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Y(Q,e.__scopeDialog);return(0,b.jsx)(m,{present:r||a.open,children:a.modal?(0,b.jsx)(zt,{...i,ref:t}):(0,b.jsx)(Bt,{...i,ref:t})})});Rt.displayName=Q;var zt=y.forwardRef((e,t)=>{let n=Y(Q,e.__scopeDialog),r=y.useRef(null),i=f(t,n.contentRef,r);return y.useEffect(()=>{let e=r.current;if(e)return Tt(e)},[]),(0,b.jsx)(Vt,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:l(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:l(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:l(e.onFocusOutside,e=>e.preventDefault())})}),Bt=y.forwardRef((e,t)=>{let n=Y(Q,e.__scopeDialog),r=y.useRef(!1),i=y.useRef(!1);return(0,b.jsx)(Vt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Vt=y.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=Y(Q,n),c=y.useRef(null),l=f(t,c);return we(),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(le,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,b.jsx)(T,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":$(s.open),...o,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Zt,{titleId:s.titleId}),(0,b.jsx)($t,{contentRef:c,descriptionId:s.descriptionId})]})]})}),Ht=`DialogTitle`,Ut=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Ht,n);return(0,b.jsx)(a.h2,{id:i.titleId,...r,ref:t})});Ut.displayName=Ht;var Wt=`DialogDescription`,Gt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Wt,n);return(0,b.jsx)(a.p,{id:i.descriptionId,...r,ref:t})});Gt.displayName=Wt;var Kt=`DialogClose`,qt=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(Kt,n);return(0,b.jsx)(a.button,{type:`button`,...r,ref:t,onClick:l(e.onClick,()=>i.onOpenChange(!1))})});qt.displayName=Kt;function $(e){return e?`open`:`closed`}var Jt=`DialogTitleWarning`,[Yt,Xt]=s(Jt,{contentName:Q,titleName:Ht,docsSlug:`dialog`}),Zt=({titleId:e})=>{let t=Xt(Jt),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
42
|
-
|
|
43
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
44
|
-
|
|
45
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Qt=`DialogDescriptionWarning`,$t=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Xt(Qt).contentName}}.`;return y.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},en=kt,tn=jt,nn=Pt,rn=Ft,an=Rt,on=Ut,sn=Gt,cn=qt;export{nn as a,tn as c,rn as i,v as l,an as n,en as o,sn as r,on as s,cn as t,_ as u};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{n as r}from"./client-DRYsuOGl.js";import{_ as i,n as a,o,v as s,y as c}from"./format-LNQSSpn6.js";import{T as l,t as u,w as d}from"./operations-e2CGYKB1.js";import{_ as f}from"./dist-CmX-h7a4.js";import{t as p}from"./bot-yILPnRgD.js";import{a as m,i as h,n as g,r as _,t as v}from"./tabs-vn6v7Bk6.js";import{t as y}from"./copy-Bi5vzoF9.js";import{u as b}from"./dist-DAwYQmf_.js";import{t as x}from"./search-CiooTLck.js";import{a as S,c as C,d as w,f as T,i as E,l as D,n as ee,o as O,p as k,r as te,s as A,t as j,u as ne}from"./table-BgsSBdke.js";import{n as re,t as M}from"./meta-tile-BMtBC-Qq.js";import{t as N}from"./page-header-CIJyycfz.js";import{C as P,D as F,E as I,M as ie,S as L,a as ae,b as R,c as z,d as B,f as oe,g as V,h as H,i as se,l as U,m as W,n as ce,o as le,p as G,r as ue,s as de,t as fe,u as pe,v as K,x as me,y as he}from"./operations-app-ER0gg7GN.js";var ge=f(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),_e=f(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ve=f(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),ye=f(`user-round`,[[`circle`,{cx:`12`,cy:`8`,r:`5`,key:`1hypcn`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`,key:`rfgkzh`}]]),q=f(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]),J=e(t()),Y=n();function be({request:e,response:t,analysis:n}){return(0,Y.jsxs)(v,{defaultValue:`request`,className:`space-y-4`,children:[(0,Y.jsx)(_,{children:[[`request`,`Evidence request`],[`response`,`Evidence response`],[`analysis`,`Analysis`]].map(([e,t])=>(0,Y.jsx)(h,{value:e,children:t},e))}),(0,Y.jsx)(g,{value:`request`,children:(0,Y.jsx)(W,{children:(0,Y.jsx)(H,{className:`p-4`,children:(0,Y.jsx)(`pre`,{className:`text-sm leading-6 text-muted-foreground`,children:e})})})}),(0,Y.jsx)(g,{value:`response`,children:(0,Y.jsx)(W,{children:(0,Y.jsx)(H,{className:`p-4`,children:(0,Y.jsx)(`pre`,{className:`text-sm leading-6 text-muted-foreground`,children:t})})})}),(0,Y.jsx)(g,{value:`analysis`,children:(0,Y.jsx)(W,{children:(0,Y.jsx)(H,{className:`p-4`,children:(0,Y.jsx)(`pre`,{className:`text-sm leading-6 text-muted-foreground`,children:n??`No evidence analysis recorded.`})})})})]})}var xe=e(r());function Se(){var e=[...arguments];return(0,J.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Ce=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function we(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Te(e){return`nodeType`in e}function X(e){return e?we(e)?e:Te(e)?e.ownerDocument?.defaultView??window:window:window}function Ee(e){let{Document:t}=X(e);return e instanceof t}function De(e){return!we(e)&&e instanceof X(e).HTMLElement}function Oe(e){return e instanceof X(e).SVGElement}function ke(e){return e?we(e)?e.document:Te(e)?Ee(e)?e:De(e)||Oe(e)?e.ownerDocument:document:document:document}var Ae=Ce?J.useLayoutEffect:J.useEffect;function je(e){let t=(0,J.useRef)(e);return Ae(()=>{t.current=e}),(0,J.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Me(){let e=(0,J.useRef)(null);return[(0,J.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,J.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Ne(e,t){t===void 0&&(t=[e]);let n=(0,J.useRef)(e);return Ae(()=>{n.current!==e&&(n.current=e)},t),n}function Pe(e,t){let n=(0,J.useRef)();return(0,J.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Fe(e){let t=je(e),n=(0,J.useRef)(null);return[n,(0,J.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ie(e){let t=(0,J.useRef)();return(0,J.useEffect)(()=>{t.current=e},[e]),t.current}var Le={};function Re(e,t){return(0,J.useMemo)(()=>{if(t)return t;let n=Le[e]==null?0:Le[e]+1;return Le[e]=n,e+`-`+n},[e,t])}function ze(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var Be=ze(1),Ve=ze(-1);function He(e){return`clientX`in e&&`clientY`in e}function Ue(e){if(!e)return!1;let{KeyboardEvent:t}=X(e.target);return t&&e instanceof t}function We(e){if(!e)return!1;let{TouchEvent:t}=X(e.target);return t&&e instanceof t}function Ge(e){if(We(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return He(e)?{x:e.clientX,y:e.clientY}:null}var Ke=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Ke.Translate.toString(e),Ke.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),qe=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Je(e){return e.matches(qe)?e:e.querySelector(qe)}var Ye={display:`none`};function Xe(e){let{id:t,value:n}=e;return J.createElement(`div`,{id:t,style:Ye},n)}function Ze(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return J.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Qe(){let[e,t]=(0,J.useState)(``);return{announce:(0,J.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var $e=(0,J.createContext)(null);function et(e){let t=(0,J.useContext)($e);(0,J.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function tt(){let[e]=(0,J.useState)(()=>new Set),t=(0,J.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,J.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var nt={draggable:`
|
|
2
|
-
To pick up a draggable item, press the space bar.
|
|
3
|
-
While dragging, use the arrow keys to move the item.
|
|
4
|
-
Press space again to drop the item in its new position, or press escape to cancel.
|
|
5
|
-
`},rt={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function it(e){let{announcements:t=rt,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=nt}=e,{announce:a,announcement:o}=Qe(),s=Re(`DndLiveRegion`),[c,l]=(0,J.useState)(!1);if((0,J.useEffect)(()=>{l(!0)},[]),et((0,J.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=J.createElement(J.Fragment,null,J.createElement(Xe,{id:r,value:i.draggable}),J.createElement(Ze,{id:s,announcement:o}));return n?(0,xe.createPortal)(u,n):u}var Z;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(Z||={});function at(){}function ot(e,t){return(0,J.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function st(){var e=[...arguments];return(0,J.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var ct=Object.freeze({x:0,y:0});function lt(e,t){let n=Ge(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function ut(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function dt(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function ft(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var pt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=ft(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(ut)};function mt(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ht(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:ct}function gt(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var _t=gt(1);function vt(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function yt(e,t,n){let r=vt(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var bt={ignoreTransform:!1};function xt(e,t){t===void 0&&(t=bt);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=X(e).getComputedStyle(e);t&&(n=yt(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function St(e){return xt(e,{ignoreTransform:!0})}function Ct(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function wt(e,t){return t===void 0&&(t=X(e).getComputedStyle(e)),t.position===`fixed`}function Tt(e,t){t===void 0&&(t=X(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function Et(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Ee(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!De(i)||Oe(i)||n.includes(i))return n;let a=X(e).getComputedStyle(i);return i!==e&&Tt(i,a)&&n.push(i),wt(i,a)?n:r(i.parentNode)}return e?r(e):n}function Dt(e){let[t]=Et(e,1);return t??null}function Ot(e){return!Ce||!e?null:we(e)?e:Te(e)?Ee(e)||e===ke(e).scrollingElement?window:De(e)?e:null:null}function kt(e){return we(e)?e.scrollX:e.scrollLeft}function At(e){return we(e)?e.scrollY:e.scrollTop}function jt(e){return{x:kt(e),y:At(e)}}var Q;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Q||={});function Mt(e){return!Ce||!e?!1:e===document.scrollingElement}function Nt(e){let t={x:0,y:0},n=Mt(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Pt={x:.2,y:.2};function Ft(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Pt);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Nt(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Q.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Q.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Q.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Q.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function It(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Lt(e){return e.reduce((e,t)=>Be(e,jt(t)),ct)}function Rt(e){return e.reduce((e,t)=>e+kt(t),0)}function zt(e){return e.reduce((e,t)=>e+At(t),0)}function Bt(e,t){if(t===void 0&&(t=xt),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Dt(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Vt=[[`x`,[`left`,`right`],Rt],[`y`,[`top`,`bottom`],zt]],Ht=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Et(t),r=Lt(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Vt)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},Ut=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function Wt(e){let{EventTarget:t}=X(e);return e instanceof t?e:ke(e)}function Gt(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var Kt;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Kt||={});function qt(e){e.preventDefault()}function Jt(e){e.stopPropagation()}var $;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})($||={});var Yt={start:[$.Space,$.Enter],cancel:[$.Esc],end:[$.Space,$.Enter,$.Tab]},Xt=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case $.Right:return{...n,x:n.x+25};case $.Left:return{...n,x:n.x-25};case $.Down:return{...n,y:n.y+25};case $.Up:return{...n,y:n.y-25}}},Zt=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new Ut(ke(t)),this.windowListeners=new Ut(X(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Kt.Resize,this.handleCancel),this.windowListeners.add(Kt.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Kt.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Bt(n),t(ct)}handleKeyDown(e){if(Ue(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Yt,coordinateGetter:a=Xt,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:ct;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Ve(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=Nt(n),p=It(n),m={x:Math.min(i===$.Right?p.right-p.width/2:p.right,Math.max(i===$.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===$.Down?p.bottom-p.height/2:p.bottom,Math.max(i===$.Down?p.top:p.top+p.height/2,u.y))},h=i===$.Right&&!s||i===$.Left&&!c,g=i===$.Down&&!l||i===$.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===$.Right&&e<=d.x||i===$.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===$.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===$.Down&&e<=d.y||i===$.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===$.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Be(Ve(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};Zt.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Yt,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function Qt(e){return!!(e&&`distance`in e)}function $t(e){return!!(e&&`delay`in e)}var en=class{constructor(e,t,n){n===void 0&&(n=Wt(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=ke(i),this.documentListeners=new Ut(this.document),this.listeners=new Ut(n),this.windowListeners=new Ut(X(i)),this.initialCoordinates=Ge(r)??ct,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Kt.Resize,this.handleCancel),this.windowListeners.add(Kt.DragStart,qt),this.windowListeners.add(Kt.VisibilityChange,this.handleCancel),this.windowListeners.add(Kt.ContextMenu,qt),this.documentListeners.add(Kt.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if($t(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Qt(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Kt.Click,Jt,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Kt.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Ge(e)??ct,s=Ve(n,o);if(!t&&a){if(Qt(a)){if(a.tolerance!=null&&Gt(s,a.tolerance))return this.handleCancel();if(Gt(s,a.distance))return this.handleStart()}if($t(a)&&Gt(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===$.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},tn={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},nn=class extends en{constructor(e){let{event:t}=e,n=ke(t.target);super(e,tn,n)}};nn.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var rn={move:{name:`mousemove`},end:{name:`mouseup`}},an;(function(e){e[e.RightClick=2]=`RightClick`})(an||={});var on=class extends en{constructor(e){super(e,rn,ke(e.event.target))}};on.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==an.RightClick&&(r?.({event:n}),!0)}}];var sn={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},cn=class extends en{constructor(e){super(e,sn)}static setup(){return window.addEventListener(sn.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(sn.move.name,e)};function e(){}}};cn.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var ln;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(ln||={});var un;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(un||={});function dn(e){let{acceleration:t,activator:n=ln.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=un.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=pn({delta:d,disabled:!a}),[m,h]=Me(),g=(0,J.useRef)({x:0,y:0}),_=(0,J.useRef)({x:0,y:0}),v=(0,J.useMemo)(()=>{switch(n){case ln.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case ln.DraggableRect:return i}},[n,i,c]),y=(0,J.useRef)(null),b=(0,J.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,J.useMemo)(()=>s===un.TreeOrder?[...l].reverse():l,[s,l]);(0,J.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=l.indexOf(e),i=u[n];if(!i)continue;let{direction:a,speed:s}=Ft(e,i,v,t,f);for(let e of[`x`,`y`])p[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0){h(),y.current=e,m(b,o),g.current=s,_.current=a;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var fn={x:{[Q.Backward]:!1,[Q.Forward]:!1},y:{[Q.Backward]:!1,[Q.Forward]:!1}};function pn(e){let{delta:t,disabled:n}=e,r=Ie(t);return Pe(e=>{if(n||!r||!e)return fn;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Q.Backward]:e.x[Q.Backward]||i.x===-1,[Q.Forward]:e.x[Q.Forward]||i.x===1},y:{[Q.Backward]:e.y[Q.Backward]||i.y===-1,[Q.Forward]:e.y[Q.Forward]||i.y===1}}},[n,t,r])}function mn(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Pe(e=>t==null?null:r??e??null,[r,t])}function hn(e,t){return(0,J.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var gn;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(gn||={});var _n;(function(e){e.Optimized=`optimized`})(_n||={});var vn=new Map;function yn(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,J.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,J.useRef)(e),d=g(),f=Ne(d),p=(0,J.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,J.useRef)(null),h=Pe(t=>{if(d&&!n)return vn;if(!t||t===vn||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new Ht(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,J.useEffect)(()=>{u.current=e},[e]),(0,J.useEffect)(()=>{d||p()},[n,d]),(0,J.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,J.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case gn.Always:return!1;case gn.BeforeDragging:return n;default:return!n}}}function bn(e,t){return Pe(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function xn(e,t){return bn(e,t)}function Sn(e){let{callback:t,disabled:n}=e,r=je(t),i=(0,J.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,J.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Cn(e){let{callback:t,disabled:n}=e,r=je(t),i=(0,J.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,J.useEffect)(()=>()=>i?.disconnect(),[i]),i}function wn(e){return new Ht(xt(e),e)}function Tn(e,t,n){t===void 0&&(t=wn);let[r,i]=(0,J.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Sn({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Cn({callback:a});return Ae(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function En(e){return ht(e,bn(e))}var Dn=[];function On(e){let t=(0,J.useRef)(e),n=Pe(n=>e?n&&n!==Dn&&e&&t.current&&e.parentNode===t.current.parentNode?n:Et(e):Dn,[e]);return(0,J.useEffect)(()=>{t.current=e},[e]),n}function kn(e){let[t,n]=(0,J.useState)(null),r=(0,J.useRef)(e),i=(0,J.useCallback)(e=>{let t=Ot(e.target);t&&n(e=>e?(e.set(t,jt(t)),new Map(e)):null)},[]);return(0,J.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Ot(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,jt(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Ot(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,J.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Be(e,t),ct):Lt(e):ct,[e,t])}function An(e,t){t===void 0&&(t=[]);let n=(0,J.useRef)(null);return(0,J.useEffect)(()=>{n.current=null},t),(0,J.useEffect)(()=>{let t=e!==ct;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Ve(e,n.current):ct}function jn(e){(0,J.useEffect)(()=>{if(!Ce)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Mn(e,t){return(0,J.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Nn(e){return(0,J.useMemo)(()=>e?Ct(e):null,[e])}var Pn=[];function Fn(e,t){t===void 0&&(t=xt);let[n]=e,r=Nn(n?X(n):null),[i,a]=(0,J.useState)(Pn);function o(){a(()=>e.length?e.map(e=>Mt(e)?r:new Ht(t(e),e)):Pn)}let s=Cn({callback:o});return Ae(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function In(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return De(t)?t:e}function Ln(e){let{measure:t}=e,[n,r]=(0,J.useState)(null),i=Cn({callback:(0,J.useCallback)(e=>{for(let{target:n}of e)if(De(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Fe((0,J.useCallback)(e=>{let n=In(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,J.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Rn=[{sensor:nn,options:{}},{sensor:Zt,options:{}}],zn={current:{}},Bn={draggable:{measure:St},droppable:{measure:St,strategy:gn.WhileDragging,frequency:_n.Optimized},dragOverlay:{measure:xt}},Vn=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},Hn={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Vn,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:at},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Bn,measureDroppableContainers:at,windowRect:null,measuringScheduled:!1},Un={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:at,draggableNodes:new Map,over:null,measureDroppableContainers:at},Wn=(0,J.createContext)(Un),Gn=(0,J.createContext)(Hn);function Kn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Vn}}}function qn(e,t){switch(t.type){case Z.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Z.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Z.DragEnd:case Z.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Z.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new Vn(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case Z.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new Vn(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case Z.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new Vn(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function Jn(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,J.useContext)(Wn),a=Ie(r),o=Ie(n?.id);return(0,J.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Ue(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=Je(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function Yn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function Xn(e){return(0,J.useMemo)(()=>({draggable:{...Bn.draggable,...e?.draggable},droppable:{...Bn.droppable,...e?.droppable},dragOverlay:{...Bn.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Zn(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,J.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Ae(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=ht(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Dt(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var Qn=(0,J.createContext)({...ct,scaleX:1,scaleY:1}),$n;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})($n||={});var er=(0,J.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Rn,collisionDetection:o=pt,measuring:s,modifiers:c,...l}=e,[u,d]=(0,J.useReducer)(qn,void 0,Kn),[f,p]=tt(),[m,h]=(0,J.useState)($n.Uninitialized),g=m===$n.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,J.useRef)({initial:null,translated:null}),C=(0,J.useMemo)(()=>_==null?null:{id:_,data:x?.data??zn,rect:S},[_,x]),w=(0,J.useRef)(null),[T,E]=(0,J.useState)(null),[D,ee]=(0,J.useState)(null),O=Ne(l,Object.values(l)),k=Re(`DndDescribedBy`,t),te=(0,J.useMemo)(()=>b.getEnabled(),[b]),A=Xn(s),{droppableRects:j,measureDroppableContainers:ne,measuringScheduled:re}=yn(te,{dragging:g,dependencies:[y.x,y.y],config:A.droppable}),M=mn(v,_),N=(0,J.useMemo)(()=>D?Ge(D):null,[D]),P=be(),F=xn(M,A.draggable.measure);Zn({activeNode:_==null?null:v.get(_),config:P.layoutShiftCompensation,initialRect:F,measure:A.draggable.measure});let I=Tn(M,A.draggable.measure,F),ie=Tn(M?M.parentElement:null),L=(0,J.useRef)({activatorEvent:null,active:null,activeNode:M,collisionRect:null,collisions:null,droppableRects:j,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ae=b.getNodeFor(L.current.over?.id),R=Ln({measure:A.dragOverlay.measure}),z=R.nodeRef.current??M,B=g?R.rect??I:null,oe=!!(R.nodeRef.current&&R.rect),V=En(oe?null:I),H=Nn(z?X(z):null),se=On(g?ae??M:null),U=Fn(se),W=Yn(c,{transform:{x:y.x-V.x,y:y.y-V.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:I,containerNodeRect:ie,draggingNodeRect:B,over:L.current.over,overlayNodeRect:R.rect,scrollableAncestors:se,scrollableAncestorRects:U,windowRect:H}),ce=N?Be(N,y):null,le=kn(se),G=An(le),ue=An(le,[I]),de=Be(W,G),fe=B?_t(B,W):null,pe=C&&fe?o({active:C,collisionRect:fe,droppableRects:j,droppableContainers:te,pointerCoordinates:ce}):null,K=dt(pe,`id`),[me,he]=(0,J.useState)(null),ge=mt(oe?W:Be(W,ue),me?.rect??null,I),_e=(0,J.useRef)(null),ve=(0,J.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent,o=new n({active:w.current,activeNode:i,event:a,options:r,context:L,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=O.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=O.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=O.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,xe.unstable_batchedUpdates)(()=>{r?.(i),h($n.Initializing),d({type:Z.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(_e.current),ee(a)})},onMove(e){d({type:Z.DragMove,coordinates:e})},onEnd:s(Z.DragEnd),onCancel:s(Z.DragCancel)});_e.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=L.current,o=null;if(t&&i){let{cancelDrop:s}=O.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===Z.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=Z.DragCancel)}w.current=null,(0,xe.unstable_batchedUpdates)(()=>{d({type:e}),h($n.Uninitialized),he(null),E(null),ee(null),_e.current=null;let t=e===Z.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=O.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),ye=hn(a,(0,J.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,ve(n,t))},[v,ve]));jn(a),Ae(()=>{I&&m===$n.Initializing&&h($n.Initialized)},[I,m]),(0,J.useEffect)(()=>{let{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:r,over:i}=L.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:de.x,y:de.y},over:i};(0,xe.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[de.x,de.y]),(0,J.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=L.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=O.current,o=r.get(K),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,xe.unstable_batchedUpdates)(()=>{he(s),a?.(c),f({type:`onDragOver`,event:c})})},[K]),Ae(()=>{L.current={activatorEvent:D,active:C,activeNode:M,collisionRect:fe,collisions:pe,droppableRects:j,draggableNodes:v,draggingNode:z,draggingNodeRect:B,droppableContainers:b,over:me,scrollableAncestors:se,scrollAdjustedTranslate:de},S.current={initial:B,translated:fe}},[C,M,pe,fe,v,z,B,j,b,me,se,de]),dn({...P,delta:y,draggingRect:fe,pointerCoordinates:ce,scrollableAncestors:se,scrollableAncestorRects:U});let q=(0,J.useMemo)(()=>({active:C,activeNode:M,activeNodeRect:I,activatorEvent:D,collisions:pe,containerNodeRect:ie,dragOverlay:R,draggableNodes:v,droppableContainers:b,droppableRects:j,over:me,measureDroppableContainers:ne,scrollableAncestors:se,scrollableAncestorRects:U,measuringConfiguration:A,measuringScheduled:re,windowRect:H}),[C,M,I,D,pe,ie,R,v,b,j,me,ne,se,U,A,re,H]),Y=(0,J.useMemo)(()=>({activatorEvent:D,activators:ye,active:C,activeNodeRect:I,ariaDescribedById:{draggable:k},dispatch:d,draggableNodes:v,over:me,measureDroppableContainers:ne}),[D,ye,C,I,d,k,v,me,ne]);return J.createElement($e.Provider,{value:p},J.createElement(Wn.Provider,{value:Y},J.createElement(Gn.Provider,{value:q},J.createElement(Qn.Provider,{value:ge},i)),J.createElement(Jn,{disabled:n?.restoreFocus===!1})),J.createElement(it,{...n,hiddenTextDescribedById:k}));function be(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),tr=(0,J.createContext)(null),nr=`button`,rr=`Draggable`;function ir(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Re(rr),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,J.useContext)(Wn),{role:p=nr,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,J.useContext)(g?Qn:tr),[v,y]=Fe(),[b,x]=Fe(),S=Mn(o,t),C=Ne(n);return Ae(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,J.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===nr?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function ar(){return(0,J.useContext)(Gn)}var or=`Droppable`,sr={timeout:25};function cr(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Re(or),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,J.useContext)(Wn),u=(0,J.useRef)({disabled:n}),d=(0,J.useRef)(!1),f=(0,J.useRef)(null),p=(0,J.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...sr,...i},_=Ne(h??r),v=Cn({callback:(0,J.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=Fe((0,J.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Ne(t);return(0,J.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,J.useEffect)(()=>(s({type:Z.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:Z.UnregisterDroppable,key:a,id:r})),[r]),(0,J.useEffect)(()=>{n!==u.current.disabled&&(s({type:Z.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function lr(e){let{animation:t,children:n}=e,[r,i]=(0,J.useState)(null),[a,o]=(0,J.useState)(null),s=Ie(n);return!n&&!r&&s&&i(s),Ae(()=>{if(!a)return;let e=r?.key,n=r?.props.id;if(e==null||n==null){i(null);return}Promise.resolve(t(n,a)).then(()=>{i(null)})},[t,r,a]),J.createElement(J.Fragment,null,n,r?(0,J.cloneElement)(r,{ref:o}):null)}var ur={x:0,y:0,scaleX:1,scaleY:1};function dr(e){let{children:t}=e;return J.createElement(Wn.Provider,{value:Un},J.createElement(Qn.Provider,{value:ur},t))}var fr={position:`fixed`,touchAction:`none`},pr=e=>Ue(e)?`transform 250ms ease`:void 0,mr=(0,J.forwardRef)((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:a,className:o,rect:s,style:c,transform:l,transition:u=pr}=e;if(!s)return null;let d=i?l:{...l,scaleX:1,scaleY:1},f={...fr,width:s.width,height:s.height,top:s.top,left:s.left,transform:Ke.Transform.toString(d),transformOrigin:i&&r?lt(r,s):void 0,transition:typeof u==`function`?u(r):u,...c};return J.createElement(n,{className:o,style:f,ref:t},a)}),hr={duration:250,easing:`ease`,keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:Ke.Transform.toString(t)},{transform:Ke.Transform.toString(n)}]},sideEffects:(e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}})({styles:{active:{opacity:`0`}}})};function gr(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return je((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=In(a);if(!c)return;let{transform:l}=X(a).getComputedStyle(a),u=vt(l);if(!u)return;let d=typeof t==`function`?t:_r(t);return Bt(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function _r(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...hr,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}var vr=0;function yr(e){return(0,J.useMemo)(()=>{if(e!=null)return vr++,vr},[e])}var br=J.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:a,modifiers:o,wrapperElement:s=`div`,className:c,zIndex:l=999}=e,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggableNodes:m,droppableContainers:h,dragOverlay:g,over:_,measuringConfiguration:v,scrollableAncestors:y,scrollableAncestorRects:b,windowRect:x}=ar(),S=(0,J.useContext)(Qn),C=yr(d?.id),w=Yn(o,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggingNodeRect:g.rect,over:_,overlayNodeRect:g.rect,scrollableAncestors:y,scrollableAncestorRects:b,transform:S,windowRect:x}),T=bn(f),E=gr({config:r,draggableNodes:m,droppableContainers:h,measuringConfiguration:v}),D=T?g.setRef:void 0;return J.createElement(dr,null,J.createElement(lr,{animation:E},d&&C?J.createElement(mr,{key:C,id:d.id,ref:D,as:s,activatorEvent:u,adjustScale:t,className:c,transition:a,rect:T,style:{zIndex:l,...i},transform:w},n):null))});function xr(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Sr(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Cr(e){return e!==null&&e>=0}function wr(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Tr(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Er=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=xr(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Dr={scaleX:1,scaleY:1},Or=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...Dr}:null}let s=kr(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Dr}:r<t&&r>=a?{x:0,y:o.height+s,...Dr}:{x:0,y:0,...Dr}};function kr(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Ar=`Sortable`,jr=J.createContext({activeIndex:-1,containerId:Ar,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Er,disabled:{draggable:!1,droppable:!1}});function Mr(e){let{children:t,id:n,items:r,strategy:i=Er,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=ar(),d=Re(Ar,n),f=s.rect!==null,p=(0,J.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,J.useRef)(p),v=!wr(p,_.current),y=g!==-1&&h===-1||v,b=Tr(a);Ae(()=>{v&&m&&u(p)},[v,p,m,u]),(0,J.useEffect)(()=>{_.current=p},[p]);let x=(0,J.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Sr(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return J.createElement(jr.Provider,{value:x},t)}var Nr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return xr(n,r,i).indexOf(t)},Pr=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Fr={duration:200,easing:`ease`},Ir=`transform`,Lr=Ke.Transition.toString({property:Ir,duration:0,easing:`linear`}),Rr={roleDescription:`sortable`};function zr(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,J.useState)(null),s=(0,J.useRef)(n);return Ae(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=xt(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,J.useEffect)(()=>{a&&o(null)},[a]),a}function Br(e){let{animateLayoutChanges:t=Pr,attributes:n,disabled:r,data:i,getNewIndex:a=Nr,id:o,strategy:s,resizeObserverConfig:c,transition:l=Fr}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,J.useContext)(jr),y=Vr(r,p),b=u.indexOf(o),x=(0,J.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,J.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:T,setNodeRef:E}=cr({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:D,activatorEvent:ee,activeNodeRect:O,attributes:k,setNodeRef:te,listeners:A,isDragging:j,over:ne,setActivatorNodeRef:re,transform:M}=ir({id:o,data:x,attributes:{...Rr,...n},disabled:y.draggable}),N=Se(E,te),P=!!D,F=P&&!m&&Cr(f)&&Cr(g),I=!_&&j,ie=F?(I&&F?M:null)??(s??v)({rects:h,activeNodeRect:O,activeIndex:f,overIndex:g,index:b}):null,L=Cr(f)&&Cr(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,ae=D?.id,R=(0,J.useRef)({activeId:ae,items:u,newIndex:L,containerId:d}),z=u!==R.current.items,B=t({active:D,containerId:d,isDragging:j,isSorting:P,id:o,index:b,items:u,newIndex:R.current.newIndex,previousItems:R.current.items,previousContainerId:R.current.containerId,transition:l,wasDragging:R.current.activeId!=null}),oe=zr({disabled:!B,index:b,node:w,rect:C});return(0,J.useEffect)(()=>{P&&R.current.newIndex!==L&&(R.current.newIndex=L),d!==R.current.containerId&&(R.current.containerId=d),u!==R.current.items&&(R.current.items=u)},[P,L,d,u]),(0,J.useEffect)(()=>{if(ae===R.current.activeId)return;if(ae!=null&&R.current.activeId==null){R.current.activeId=ae;return}let e=setTimeout(()=>{R.current.activeId=ae},50);return()=>clearTimeout(e)},[ae]),{active:D,activeIndex:f,attributes:k,data:x,rect:C,index:b,newIndex:L,items:u,isOver:T,isSorting:P,isDragging:j,listeners:A,node:w,overIndex:g,over:ne,setNodeRef:N,setActivatorNodeRef:re,setDroppableNodeRef:E,setDraggableNodeRef:te,transform:oe??ie,transition:V()};function V(){if(oe||z&&R.current.newIndex===b)return Lr;if(!(I&&!Ue(ee)||!l)&&(P||B))return Ke.Transition.toString({...l,property:Ir})}}function Vr(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}$.Down,$.Right,$.Up,$.Left;var Hr=[{status:`backlog`,label:`Backlog`,description:`New finding families discovered by the pipeline.`},{status:`todo`,label:`Todo`,description:`Queued for a worker or follow-up pass.`},{status:`in_progress`,label:`In Progress`,description:`Autonomous execution is actively running now.`},{status:`blocked`,label:`Blocked`,description:`Needs more access, context, or a better PoC.`},{status:`done`,label:`Done`,description:`Accepted, verified, or reported.`},{status:`cancelled`,label:`Cancelled`,description:`Suppressed or resolved as false positive.`}];function Ur({groups:e,selectedFingerprint:t,pendingFingerprint:n,onSelect:r,onMove:i}){let[a,o]=(0,J.useState)(null),s=st(ot(nn,{activationConstraint:{distance:6}})),c=(0,J.useMemo)(()=>{let t=new Map;for(let e of Hr)t.set(e.status,[]);for(let n of e)t.get(n.workflow.phase)?.push(n);return t},[e]),l=(0,J.useMemo)(()=>a?e.find(e=>e.fingerprint===a)??null:null,[a,e]);function u(e){o(String(e.active.id))}function d(t){o(null);let{active:n,over:r}=t;if(!r)return;let a=String(n.id),s=e.find(e=>e.fingerprint===a);if(!s)return;let c=null,l=String(r.id);if(Hr.some(e=>e.status===l))c=l;else{let t=e.find(e=>e.fingerprint===l);t&&(c=t.workflow.phase)}c&&c!==s.workflow.phase&&i(a,c)}return(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{className:`border-b border-border`,children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Finding board`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Finding workflow board`}),(0,Y.jsx)(V,{children:`Use this secondary view only when the queue does not make the next action clear.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:(0,Y.jsxs)(er,{sensors:s,onDragStart:u,onDragEnd:d,children:[(0,Y.jsx)(`div`,{className:`overflow-x-auto pb-4`,children:(0,Y.jsx)(`div`,{className:`flex min-w-max gap-4 px-6 pb-6`,children:Hr.map(e=>(0,Y.jsx)(Wr,{column:e,groups:c.get(e.status)??[],selectedFingerprint:t,pendingFingerprint:n??null,onSelect:r},e.status))})}),(0,Y.jsx)(br,{children:l?(0,Y.jsx)(Gr,{group:l,selected:t===l.fingerprint,onSelect:r,isOverlay:!0}):null})]})})]})}function Wr({column:e,groups:t,selectedFingerprint:n,pendingFingerprint:r,onSelect:i}){let{setNodeRef:a,isOver:o}=cr({id:e.status});return(0,Y.jsxs)(`section`,{className:`flex w-[20rem] shrink-0 flex-col gap-3`,children:[(0,Y.jsx)(`div`,{className:`rounded-md border border-border bg-muted/25 px-3 py-3`,children:(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground`,children:e.label}),(0,Y.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:e.description})]}),(0,Y.jsx)(`div`,{className:`rounded-sm border border-border bg-background px-2 py-1 text-xs text-muted-foreground`,children:t.length})]})}),(0,Y.jsxs)(`div`,{ref:a,className:P(`flex min-h-[20rem] flex-col gap-3 rounded-md border border-dashed border-border bg-muted/15 p-2 transition-colors`,o&&`border-primary/40 bg-primary/7`),children:[(0,Y.jsx)(Mr,{items:t.map(e=>e.fingerprint),strategy:Or,children:t.map(e=>(0,Y.jsx)(Gr,{group:e,selected:n===e.fingerprint,saving:r===e.fingerprint,onSelect:i},e.fingerprint))}),t.length===0?(0,Y.jsx)(`div`,{className:`flex flex-1 items-center justify-center rounded-md border border-dashed border-border/70 bg-background/70 px-4 py-8 text-center text-xs text-muted-foreground`,children:`Drop a finding family here.`}):null]})]})}function Gr({group:e,selected:t,saving:n=!1,onSelect:r,isOverlay:i=!1}){let{attributes:a,listeners:o,setNodeRef:s,transform:c,transition:l,isDragging:u}=Br({id:e.fingerprint,data:{group:e}}),d={transform:Ke.Transform.toString(c),transition:l},f=n?`Syncing workflow update...`:e.workflow.updatedAt?`Updated ${new Date(e.workflow.updatedAt).toLocaleString()}`:`No workflow activity yet`,p=e.workflow.assignee??e.workflow.activeAgentRoles[0]??`Unassigned`,h=e.workflow.persistedStatus!==e.workflow.phase&&e.workflow.persistedStatus!==e.workflow.reviewGate,g=e.workflow.reviewGate===`human_review`?`Waiting on human review`:e.workflow.reviewGate===`agent_review`?`Waiting on agent review`:e.workflow.phase===`in_progress`?`Execution running`:e.workflow.phase===`blocked`?`Blocked`:`${e.count} hit${e.count>1?`s`:``} · ${e.scanCount} scan${e.scanCount>1?`s`:``}`;return(0,Y.jsxs)(`button`,{ref:s,type:`button`,style:d,onClick:()=>r(e.fingerprint),...a,...o,className:P(`rounded-md border border-border bg-card p-3 text-left transition-[border-color,background-color,box-shadow]`,`cursor-grab active:cursor-grabbing hover:border-primary/20 hover:bg-primary/4 hover:shadow-sm`,t&&`border-primary/35 bg-primary/6 shadow-sm ring-1 ring-primary/15`,u&&!i&&`opacity-30`,i&&`shadow-lg ring-1 ring-primary/20`,n&&`border-primary/30 bg-primary/6`),children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-muted-foreground`,children:[(0,Y.jsx)(ge,{className:`size-3.5`}),e.latest.category,t?(0,Y.jsx)(`span`,{className:`rounded-sm bg-primary/10 px-1.5 py-0.5 text-primary-text`,children:`Open`}):null]}),(0,Y.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-foreground`,children:e.latest.title}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:g})]}),(0,Y.jsx)(ne,{severity:e.latest.severity})]}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[e.workflow.reviewGate===`none`?null:(0,Y.jsx)(D,{value:e.workflow.reviewGate}),(0,Y.jsx)(A,{value:e.workflow.consensus}),(0,Y.jsx)(w,{value:e.workflow.evidenceSignal}),h?(0,Y.jsx)(k,{value:e.workflow.persistedStatus}):null]}),(0,Y.jsxs)(`div`,{className:`mt-3 grid gap-2 text-xs text-muted-foreground sm:grid-cols-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-sm bg-muted/35 px-2.5 py-2`,children:[(0,Y.jsx)(_e,{className:`size-3.5`}),(0,Y.jsxs)(`span`,{children:[e.count,` hit`,e.count>1?`s`:``]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-sm bg-muted/35 px-2.5 py-2`,children:[(0,Y.jsx)(ye,{className:`size-3.5`}),(0,Y.jsx)(`span`,{children:p})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-sm bg-muted/35 px-2.5 py-2`,children:[(0,Y.jsx)(m,{className:`size-3.5`}),(0,Y.jsx)(`span`,{children:f})]})]})]})}function Kr({className:e,...t}){return(0,Y.jsx)(`textarea`,{"data-slot":`textarea`,className:P(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-background px-3 py-3 text-base transition-[color,box-shadow,border-color] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...t})}function qr(e,t){if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return n?JSON.parse(n):t}catch{return t}}function Jr(e,t){let[n,r]=(0,J.useState)(()=>qr(e,t));return(0,J.useEffect)(()=>{try{window.localStorage.setItem(e,JSON.stringify(n))}catch{}},[e,n]),[n,r]}var Yr=[{value:`backlog`,label:`Backlog`},{value:`todo`,label:`Todo`},{value:`in_progress`,label:`In progress`},{value:`blocked`,label:`Blocked`},{value:`done`,label:`Done`},{value:`cancelled`,label:`Cancelled`}],Xr=[{value:`all`,label:`All consensus`},{value:`pending`,label:`Pending`},{value:`verified`,label:`Verified`},{value:`disputed`,label:`Disputed`},{value:`false-positive`,label:`False positive`}],Zr={search:``,workflowFilter:`all`,reviewFilter:`all`,severityFilter:`all`,consensusFilter:`all`,assigneeFilter:`all`,activeOnly:!1,viewMode:`inbox`,queueSort:`attention`};function Qr(e,t){return[e.latest.title,e.latest.category,e.latest.severity,e.latest.triageStatus,e.workflow.status,e.workflow.phase,e.workflow.reviewGate,e.workflow.persistedStatus,e.workflow.recommendedStatus,e.workflow.reviewReason??``,e.workflow.consensus,e.workflow.assignee??``,e.workflow.activeAgentRoles.join(` `),e.fingerprint].join(` `).toLowerCase().includes(t)}function $r(e,t){let n=t.workflowAssignee.trim()||null,r=t.workflowStatus===`done`||t.workflowStatus===`cancelled`?t.workflowStatus:e.recommendedStatus,i=t.optimisticStatus??(t.workflowStatus===`done`||t.workflowStatus===`cancelled`?t.workflowStatus:e.status),a=_i(t.workflowStatus);return{...e,status:i,persistedStatus:t.workflowStatus,recommendedStatus:r,phase:a,assignee:n,updatedAt:new Date().toISOString()}}function ei(e,t){return{...e,groups:e.groups.map(e=>e.fingerprint===t.fingerprint?{...e,latest:{...e.latest,workflowStatus:t.workflowStatus,workflowAssignee:t.workflowAssignee.trim()||null,workflowUpdatedAt:new Date().toISOString()},workflow:$r(e.workflow,t)}:e)}}function ti(e,t){return e.fingerprint===t.fingerprint?{...e,latest:{...e.latest,workflowStatus:t.workflowStatus,workflowAssignee:t.workflowAssignee.trim()||null,workflowUpdatedAt:new Date().toISOString()},workflow:$r(e.workflow,t)}:e}function ni({dashboard:e}){let{fingerprint:t}=l(),n=d(),r=u(),{openPanel:a,clearPanel:f}=oe(),[m,g]=(0,J.useState)(null),[y,b]=Jr(`0:threads:console-state`,Zr),{search:S,workflowFilter:C,reviewFilter:w,severityFilter:T,consensusFilter:E,assigneeFilter:D,activeOnly:ee,viewMode:O,queueSort:k}=y,[te,A]=(0,J.useState)(!1),j=(0,J.useDeferredValue)(S),ne=(0,J.useMemo)(()=>[`all`,...new Set(e.groups.map(e=>e.latest.severity.toLowerCase()))],[e.groups]),re=(0,J.useMemo)(()=>[`all`,...new Set(e.groups.map(e=>e.workflow.assignee).filter(Boolean))],[e.groups]),M=(0,J.useMemo)(()=>{let t=new Set;for(let n of e.groups){n.workflow.assignee&&t.add(n.workflow.assignee);for(let e of n.workflow.activeAgentRoles)t.add(e)}return[...t].sort((e,t)=>e.localeCompare(t))},[e.groups]),P=(0,J.useMemo)(()=>{let t=j.trim().toLowerCase();return e.groups.filter(e=>!(t&&!Qr(e,t)||C!==`all`&&e.workflow.phase!==C||w!==`all`&&e.workflow.reviewGate!==w||T!==`all`&&e.latest.severity.toLowerCase()!==T||E!==`all`&&e.workflow.consensus!==E||D!==`all`&&(e.workflow.assignee??``)!==D&&!e.workflow.activeAgentRoles.includes(D)||ee&&e.workflow.activeAgentRoles.length===0))},[ee,D,E,e.groups,j,w,T,C]),F=(0,J.useMemo)(()=>P.filter(e=>e.workflow.reviewGate!==`none`),[P]),I=(0,J.useMemo)(()=>{let e=[...P];return e.sort((e,t)=>k===`newest`?t.latest.timestamp-e.latest.timestamp:k===`severity`?hi(t.latest.severity)-hi(e.latest.severity):gi(t)-gi(e)),e},[P,k]),R=(0,J.useMemo)(()=>I.filter(e=>e.workflow.reviewGate===`none`&&(e.workflow.phase===`todo`||e.workflow.phase===`backlog`)),[I]),fe=(0,J.useMemo)(()=>I.filter(e=>e.workflow.phase===`in_progress`||e.workflow.activeAgentRoles.length>0),[I]),me=(0,J.useMemo)(()=>I.filter(e=>e.workflow.phase===`blocked`),[I]),ge=(0,J.useMemo)(()=>F.filter(e=>e.workflow.reviewGate===`agent_review`),[F]),_e=(0,J.useMemo)(()=>F.filter(e=>e.workflow.reviewGate===`human_review`),[F]),ye=O===`review`?F:O===`board`?P:I,q=t??null,be=c({queryKey:[`finding-family`,q],queryFn:()=>o(q),enabled:!!q}),xe=ie({mutationFn:({triageStatus:e,triageNote:t})=>i(q,e,t),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:[`dashboard`]}),r.invalidateQueries({queryKey:[`finding-family`,q]})])}}),Se=ie({mutationFn:({fingerprint:e,workflowStatus:t,workflowAssignee:n})=>s(e,t,n),onMutate:async e=>{await Promise.all([r.cancelQueries({queryKey:[`dashboard`]}),r.cancelQueries({queryKey:[`finding-family`,e.fingerprint]})]);let t=r.getQueryData([`dashboard`]),n=r.getQueryData([`finding-family`,e.fingerprint]);return r.setQueryData([`dashboard`],t=>t&&ei(t,e)),r.setQueryData([`finding-family`,e.fingerprint],t=>t&&ti(t,e)),{previousDashboard:t,previousFamily:n,fingerprint:e.fingerprint}},onError:(e,t,n)=>{n?.previousDashboard&&r.setQueryData([`dashboard`],n.previousDashboard),n?.previousFamily&&r.setQueryData([`finding-family`,n.fingerprint],n.previousFamily)},onSettled:async(e,t,n)=>{await Promise.all([r.invalidateQueries({queryKey:[`dashboard`]}),r.invalidateQueries({queryKey:[`finding-family`,n.fingerprint]})])}}),Ce=e.groups.find(e=>e.fingerprint===q)??null,we=ye.some(e=>e.fingerprint===q),Te=S.trim().length>0||C!==`all`||w!==`all`||T!==`all`||E!==`all`||D!==`all`||ee,X=[C===`all`?null:Yr.find(e=>e.value===C)?.label??C,w===`all`?null:w.replaceAll(`_`,` `),T===`all`?null:T,E===`all`?null:E.replaceAll(`-`,` `),D===`all`?null:D,ee?`active agents`:null].filter(Boolean),Ee=O===`review`?`${F.length} review families`:O===`board`?`${P.length} board families`:`${I.length} queued families`;function De(){b(e=>({...e,search:``,workflowFilter:`all`,reviewFilter:`all`,severityFilter:`all`,consensusFilter:`all`,assigneeFilter:`all`,activeOnly:!1}))}return(0,J.useEffect)(()=>{q!==m&&g(null)},[m,q]),(0,J.useEffect)(()=>{if(!q||q===m){f();return}let e;return e=be.isLoading?(0,Y.jsx)(B,{label:`Finding detail`}):be.error?(0,Y.jsx)(pe,{error:be.error}):be.data?(0,Y.jsx)(ri,{data:be.data,assigneeSuggestions:M,selectedSummary:Ce?.workflow??null,reviewMode:O===`review`,isSaving:xe.isPending||Se.isPending,onTriage:(e,t)=>xe.mutate({triageStatus:e,triageNote:t}),onWorkflow:(e,t,n,r)=>Se.mutate({fingerprint:e,workflowStatus:t,workflowAssignee:n,optimisticStatus:r})}):(0,Y.jsx)(U,{title:`Finding unavailable`,body:`The selected finding family could not be loaded from the local database.`}),a({title:Ce?.latest.title??`Finding detail`,description:`Inspect this finding family as one execution record with ownership, evidence, chat handoff, and review posture.`,content:(0,Y.jsx)(`div`,{className:`p-6`,children:e}),onClose:()=>{g(q),n(`/findings`)}}),()=>{f()}},[M,f,be.data,be.error,be.isLoading,n,a,q,Ce?.latest.title,Ce?.workflow,m,xe.isPending,Se.isPending,O]),(0,Y.jsxs)(`div`,{className:`space-y-6`,children:[(0,Y.jsx)(N,{eyebrow:`Findings`,title:`Findings workspace`,summary:`A finding family groups repeated observations across runs. Start from evidence and the recommended next action; use the scoped chat workspace when the case needs judgment.`,actions:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(z,{variant:`outline`,onClick:()=>A(!0),children:[(0,Y.jsx)(ve,{className:`size-4`}),`Filters`,Te?(0,Y.jsx)(G,{variant:`neutral`,children:X.length+ +!!S.trim()}):null]}),q?(0,Y.jsx)(z,{variant:`outline`,onClick:()=>n(`/findings`),children:`Close finding`}):null]})}),(0,Y.jsxs)(W,{children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Work queues`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Start with what needs a decision`}),(0,Y.jsx)(V,{children:`Keep autonomous execution separate from evidence review. The board remains a secondary view, not a second workflow to maintain.`})]}),(0,Y.jsx)(v,{value:O,onValueChange:e=>b(t=>({...t,viewMode:e})),children:(0,Y.jsxs)(_,{children:[(0,Y.jsx)(h,{value:`inbox`,children:`Queue`}),(0,Y.jsx)(h,{value:`review`,children:`Review`}),(0,Y.jsx)(h,{value:`board`,children:`Board`})]})})]})}),(0,Y.jsxs)(H,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-4`,children:[(0,Y.jsx)(ci,{label:`Ready now`,value:`${R.length}`,meta:`Queued for the next autonomous step.`}),(0,Y.jsx)(ci,{label:`Running now`,value:`${fe.length}`,meta:`Finding families with live worker activity.`}),(0,Y.jsx)(ci,{label:`Blocked`,value:`${me.length}`,meta:`Need more access, context, or a better PoC.`}),(0,Y.jsx)(ci,{label:`Review`,value:`${F.length}`,meta:`Waiting on agent or human sign-off.`})]})]}),(0,Y.jsx)(W,{size:`sm`,children:(0,Y.jsxs)(H,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-[minmax(0,1fr)_auto] lg:items-center`,children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(x,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground`}),(0,Y.jsx)(de,{value:S,onChange:e=>b(t=>({...t,search:e.target.value})),placeholder:`Search findings, workflow state, assignee, severity, consensus, or fingerprint`,className:`pl-9`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-muted-foreground`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(p,{className:`size-4`}),Ee]}),(0,Y.jsxs)(G,{variant:`neutral`,children:[e.groups.length,` total`]}),q?(0,Y.jsx)(G,{variant:we?`accent`:`warning`,children:we?`Finding open`:`Selected finding hidden by filters`}):null]})]}),Te||S.trim()?(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[S.trim()?(0,Y.jsxs)(G,{variant:`outline`,children:[`query: `,S.trim()]}):null,X.map(e=>(0,Y.jsx)(G,{variant:`outline`,children:e},e)),(0,Y.jsx)(z,{variant:`ghost`,size:`sm`,onClick:De,children:`Clear filters`})]}):null]})}),(0,Y.jsx)(`div`,{className:`min-w-0 space-y-4`,children:O===`board`?(0,Y.jsx)(Ur,{groups:P,selectedFingerprint:q,pendingFingerprint:Se.isPending?Se.variables?.fingerprint??null:null,onSelect:e=>n(`/findings/${e}`),onMove:(t,r)=>{q!==t&&n(`/findings/${t}`),Se.mutate({fingerprint:t,workflowStatus:r,workflowAssignee:e.groups.find(e=>e.fingerprint===t)?.workflow.assignee??``,optimisticStatus:r})}}):O===`review`?(0,Y.jsx)(ai,{agentReviewGroups:ge,humanReviewGroups:_e,selectedFingerprint:q,pendingFingerprint:Se.isPending?Se.variables?.fingerprint??null:null,onSelect:e=>n(`/findings/${e}`)}):(0,Y.jsx)(ii,{groups:I,readyGroups:R,activeGroups:fe,blockedGroups:me,selectedFingerprint:q,queueSort:k,pendingFingerprint:Se.isPending?Se.variables?.fingerprint??null:null,onSortChange:e=>b(t=>({...t,queueSort:e})),onSelect:e=>n(`/findings/${e}`)})}),(0,Y.jsx)(ce,{open:te,onOpenChange:A,children:(0,Y.jsxs)(ue,{side:`right`,className:`w-full overflow-y-auto p-0 sm:max-w-xl`,children:[(0,Y.jsxs)(ae,{className:`border-b border-border pr-12`,children:[(0,Y.jsx)(le,{children:`Finding filters`}),(0,Y.jsx)(se,{children:`Scope finding families by phase, review gate, severity, ownership, or live worker activity.`})]}),(0,Y.jsxs)(`div`,{className:`space-y-5 p-6`,children:[(0,Y.jsxs)(`label`,{className:`block space-y-2`,children:[(0,Y.jsx)(K,{children:`Search`}),(0,Y.jsx)(de,{value:S,onChange:e=>b(t=>({...t,search:e.target.value})),placeholder:`Search workflow, evidence, assignee, or fingerprint`})]}),(0,Y.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,Y.jsxs)(vi,{label:`Workflow`,children:[(0,Y.jsx)(yi,{active:C===`all`,onClick:()=>b(e=>({...e,workflowFilter:`all`})),children:`All phases`}),Yr.map(e=>(0,Y.jsx)(yi,{active:C===e.value,onClick:()=>b(t=>({...t,workflowFilter:e.value})),children:e.label},e.value))]}),(0,Y.jsxs)(vi,{label:`Review gate`,children:[(0,Y.jsx)(yi,{active:w===`all`,onClick:()=>b(e=>({...e,reviewFilter:`all`})),children:`All review states`}),(0,Y.jsx)(yi,{active:w===`agent_review`,onClick:()=>b(e=>({...e,reviewFilter:`agent_review`})),children:`Agent review`}),(0,Y.jsx)(yi,{active:w===`human_review`,onClick:()=>b(e=>({...e,reviewFilter:`human_review`})),children:`Human review`})]}),(0,Y.jsx)(vi,{label:`Severity`,children:ne.map(e=>(0,Y.jsx)(yi,{active:T===e,onClick:()=>b(t=>({...t,severityFilter:e})),children:e===`all`?`All severities`:e[0]?.toUpperCase()+e.slice(1)},e))}),(0,Y.jsx)(vi,{label:`Consensus`,children:Xr.map(e=>(0,Y.jsx)(yi,{active:E===e.value,onClick:()=>b(t=>({...t,consensusFilter:e.value})),children:e.label},e.value))}),(0,Y.jsxs)(vi,{label:`Ownership`,className:`md:col-span-2`,children:[(0,Y.jsx)(yi,{active:D===`all`,onClick:()=>b(e=>({...e,assigneeFilter:`all`})),children:`All assignees`}),re.filter(e=>e!==`all`).map(e=>(0,Y.jsx)(yi,{active:D===e,onClick:()=>b(t=>({...t,assigneeFilter:e})),children:e},e)),(0,Y.jsx)(yi,{active:ee,onClick:()=>b(e=>({...e,activeOnly:!e.activeOnly})),children:`Active agents only`})]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border pt-4`,children:[(0,Y.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[ye.length,` of `,e.groups.length,` finding families visible`]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(z,{variant:`ghost`,size:`sm`,onClick:De,children:`Reset`}),(0,Y.jsx)(z,{size:`sm`,onClick:()=>A(!1),children:`Apply`})]})]})]})]})})]})}function ri({data:e,assigneeSuggestions:t,selectedSummary:n,reviewMode:r,onTriage:i,onWorkflow:o,isSaving:s}){let[c,l]=(0,J.useState)(e.latest.triageNote??``),[u,d]=(0,J.useState)(e.workflow.assignee??``),[f,p]=(0,J.useState)(null),m=`assignee-suggestions-${e.fingerprint}`,x=(0,J.useMemo)(()=>{let n=new Set;e.workflow.assignee&&n.add(e.workflow.assignee);for(let t of e.workflow.activeAgentRoles)n.add(t);for(let e of t)n.add(e);return[...n].slice(0,8)},[t,e.workflow.activeAgentRoles,e.workflow.assignee]),k=e.workItems.find(e=>e.status===`in_progress`)??null,N=e.workItems.find(e=>e.status===`blocked`)??null,P=e.workItems.find(e=>e.status===`todo`||e.status===`backlog`)??null,ie=k?.owner??e.workflow.assignee??e.workflow.activeAgentRoles[0]??N?.owner??`Unassigned`,ae=N?`Execution is blocked.`:k?`Execution is actively running.`:P?`Execution is queued for the next step.`:e.workflow.reviewGate===`none`?`Execution has no active work item yet.`:`Execution is waiting on review.`,R=N?N.summary||e.workflow.reviewReason||`A blocked step needs operator intervention.`:k?k.summary||e.workflow.reviewReason||`An agent-owned execution step is in progress.`:P?P.summary||`The next queued step is ready to run.`:e.workflow.reviewReason||`No explicit runbook activity is available yet.`,B=e.case?.targetType===`repository`&&e.workflow.consensus===`verified`?`draft_fix`:e.workflow.reviewGate===`human_review`?`verify`:`investigate`,oe=e.consoleCommand.replace(`--finding-intent investigate`,`--finding-intent ${B}`),se=B===`draft_fix`?`Plan a source fix in chat`:B===`verify`?`Review the evidence in chat`:`Investigate in chat`,U=B===`draft_fix`?`The chat will establish root cause and propose a patch and regression test. It cannot apply a patch from this handoff.`:B===`verify`?`The chat will independently assess the evidence before you accept or suppress this finding.`:`The chat starts with this finding's evidence and asks for the next smallest authorized step.`,ce=async()=>{try{if(!navigator.clipboard?.writeText)throw Error(`Clipboard access is unavailable.`);await navigator.clipboard.writeText(oe),p(`Copied. Run the command in a terminal to continue with the same finding context.`)}catch{p(`Copy is unavailable here. Select the command below and run it in a terminal.`)}};return(0,J.useEffect)(()=>{l(e.latest.triageNote??``)},[e.fingerprint,e.latest.triageNote]),(0,J.useEffect)(()=>{d(e.workflow.assignee??``)},[e.fingerprint,e.workflow.assignee]),(0,J.useEffect)(()=>{p(null)},[e.fingerprint]),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Y.jsxs)(re,{className:r?`order-2`:`order-1`,eyebrow:r?`Review`:`Operator`,title:r?e.workflow.reviewGate===`human_review`?`Evidence and disposition`:`Evidence and next action`:`Finding controls`,description:r?`Inspect the evidence first. Operator controls remain available after the review record.`:`Review evidence, route the next action into the console, and make a final disposition only when the proof is sufficient.`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(ne,{severity:e.latest.severity}),(0,Y.jsx)(C,{value:e.workflow.phase}),(0,Y.jsx)(D,{value:e.workflow.reviewGate}),(0,Y.jsx)(A,{value:e.workflow.consensus}),(0,Y.jsx)(w,{value:e.workflow.evidenceSignal}),(0,Y.jsx)(T,{value:e.latest.triageStatus})]}),(0,Y.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-3`,children:[(0,Y.jsx)(di,{label:`Case`,value:e.case?.target??`Unlinked`}),(0,Y.jsx)(di,{label:`Case type`,value:e.case?mi(e.case.targetType):`Unknown`}),(0,Y.jsx)(di,{label:`Fingerprint`,value:e.fingerprint,mono:!0}),(0,Y.jsx)(di,{label:`Category`,value:e.latest.category}),(0,Y.jsx)(di,{label:`Occurrences`,value:String(e.rows.length)}),(0,Y.jsx)(di,{label:`Review gate`,value:e.workflow.reviewGate.replaceAll(`_`,` `)}),(0,Y.jsx)(di,{label:`Active agents`,value:e.workflow.activeAgentRoles.length>0?e.workflow.activeAgentRoles.join(`, `):`None`})]}),(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-muted/20 p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(K,{children:`Execution snapshot`}),(0,Y.jsx)(`div`,{className:`mt-2 text-sm font-medium text-foreground`,children:ae}),(0,Y.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:R}),P?(0,Y.jsx)(`div`,{className:`mt-3 text-xs leading-5 text-muted-foreground`,children:"Queued autonomous stages are claimed automatically by a live daemon once dependencies clear. If a finding stalls here, check `Operations` for queue health or worker heartbeats."}):null]}),N?(0,Y.jsx)(li,{value:N.status}):k?(0,Y.jsx)(li,{value:k.status}):null]}),(0,Y.jsxs)(`div`,{className:`mt-4 grid gap-3 md:grid-cols-2 xl:grid-cols-4`,children:[(0,Y.jsx)(di,{label:`Current step`,value:k?k.title:N?N.title:`No live step`}),(0,Y.jsx)(di,{label:`Owner`,value:ie}),(0,Y.jsx)(di,{label:`Next step`,value:P?P.title:e.workflow.reviewGate===`none`?`No queued step`:`Review gate`}),(0,Y.jsx)(di,{label:`Blocked by`,value:N?N.title:e.workflow.phase===`blocked`?e.workflow.reviewReason??`Operator input`:`Clear`})]})]}),(0,Y.jsx)(`div`,{className:`rounded-md border border-primary/30 bg-primary/5 p-4`,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(b,{className:`size-4 text-primary-text`}),(0,Y.jsx)(K,{children:`Continue in console`})]}),(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:se}),(0,Y.jsx)(`div`,{className:`text-sm leading-6 text-muted-foreground`,children:U}),(0,Y.jsx)(`code`,{className:`block overflow-x-auto rounded bg-background/80 px-3 py-2 font-mono text-xs text-foreground`,children:oe}),f?(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:f}):null]}),(0,Y.jsxs)(z,{variant:`outline`,size:`sm`,onClick:()=>void ce(),children:[(0,Y.jsx)(y,{className:`size-4`}),`Copy command`]})]})}),(0,Y.jsxs)(`label`,{className:`block space-y-2`,children:[(0,Y.jsx)(K,{children:`Finding owner`}),(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(de,{list:m,value:u,onChange:e=>d(e.target.value),placeholder:`security-verifier / model owner / person`}),(0,Y.jsx)(`datalist`,{id:m,children:x.map(e=>(0,Y.jsx)(`option`,{value:e},e))}),(0,Y.jsxs)(z,{variant:`outline`,onClick:()=>o(e.fingerprint,e.workflow.phase,u),disabled:s,children:[(0,Y.jsx)(ye,{className:`size-4`}),`Assign`]})]})]}),x.length>0?(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:x.map(e=>(0,Y.jsx)(z,{variant:u===e?`default`:`outline`,size:`sm`,onClick:()=>d(e),disabled:s,children:e},e))}):null,(0,Y.jsx)(`div`,{className:`rounded-md border border-border bg-muted/20 p-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`max-w-2xl space-y-2`,children:[(0,Y.jsx)(K,{children:`Operator disposition`}),(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`Keep execution state derived from real work.`}),(0,Y.jsx)(`div`,{className:`text-sm leading-6 text-muted-foreground`,children:`The queue and console own investigation and remediation planning. Use a disposition only after the evidence is sufficient to accept or suppress this finding family.`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsxs)(z,{variant:`success`,onClick:()=>i(`accepted`,c),disabled:s,children:[(0,Y.jsx)(F,{className:`size-4`}),`Accept`]}),(0,Y.jsxs)(z,{variant:`warning`,onClick:()=>i(`suppressed`,c),disabled:s,children:[(0,Y.jsx)(I,{className:`size-4`}),`Suppress`]}),(0,Y.jsxs)(z,{variant:`outline`,onClick:()=>i(`new`,c),disabled:s,children:[(0,Y.jsx)(_e,{className:`size-4`}),`Reset triage`]})]})]})}),e.workflow.reviewGate!==`none`||e.workflow.persistedStatus!==e.workflow.phase?(0,Y.jsxs)(`div`,{className:`rounded-lg border border-border bg-muted/35 px-3 py-3 text-sm text-muted-foreground`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 font-medium text-foreground`,children:[(0,Y.jsx)(q,{className:`size-4 text-primary-text`}),`Autonomous workflow signal`]}),(0,Y.jsxs)(`div`,{className:`mt-1`,children:[`Live execution is currently in `,(0,Y.jsx)(`span`,{className:`text-foreground`,children:e.workflow.phase}),e.workflow.reviewGate===`none`?`.`:` with ${e.workflow.reviewGate.replaceAll(`_`,` `)}.`,e.workflow.reviewReason?` ${e.workflow.reviewReason}`:``,n&&n.persistedStatus!==n.phase?` The saved operator workflow is ${n.persistedStatus}.`:``]})]}):null,(0,Y.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,Y.jsx)(M,{label:`Consensus`,value:e.workflow.consensus}),(0,Y.jsx)(M,{label:`Evidence signal`,value:e.workflow.evidenceSignal}),(0,Y.jsx)(M,{label:`True positive votes`,value:String(e.workflow.verdictCounts.truePositive)}),(0,Y.jsx)(M,{label:`False positive votes`,value:String(e.workflow.verdictCounts.falsePositive)}),(0,Y.jsx)(M,{label:`Unsure votes`,value:String(e.workflow.verdictCounts.unsure)}),(0,Y.jsx)(M,{label:`Assignee`,value:e.workflow.assignee??`Unassigned`})]}),(0,Y.jsxs)(`label`,{className:`block space-y-2`,children:[(0,Y.jsx)(K,{children:`Triage note`}),(0,Y.jsx)(Kr,{value:c,onChange:e=>l(e.target.value),placeholder:`Capture why this finding is actionable, benign, needs another agent pass, or is waiting on a human call.`})]})]}),(0,Y.jsx)(re,{className:r?`order-1`:`order-2`,eyebrow:r?`Review evidence`:`Execution`,title:r?`Evidence before disposition`:`Execution record`,description:r?`Start with the captured proof, then inspect the work chain or make a disposition.`:`Open the runbook, evidence, and occurrence detail only when this finding needs deeper inspection.`,children:(0,Y.jsxs)(v,{defaultValue:r?`evidence`:`runbook`,className:`gap-4`,children:[(0,Y.jsxs)(_,{children:[(0,Y.jsx)(h,{value:`runbook`,children:`Runbook`}),(0,Y.jsx)(h,{value:`evidence`,children:`Evidence`}),(0,Y.jsx)(h,{value:`occurrences`,children:`Occurrences`})]}),(0,Y.jsxs)(g,{value:`runbook`,className:`space-y-5`,children:[(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(K,{children:`Work chain`}),e.workItems.length===0?(0,Y.jsx)(`div`,{className:`rounded-md border border-dashed border-border bg-muted/20 px-4 py-8 text-sm text-muted-foreground`,children:`No persisted work graph exists yet for this finding.`}):(0,Y.jsx)(ui,{items:e.workItems,activeWorkItemId:k?.id??null,blockedWorkItemId:N?.id??null})]}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(K,{children:`Shared artifacts`}),e.artifacts.length===0?(0,Y.jsx)(`div`,{className:`rounded-md border border-dashed border-border bg-muted/20 px-4 py-8 text-sm text-muted-foreground`,children:`No shared artifacts have been persisted for this finding yet.`}):(0,Y.jsx)(`div`,{className:`grid gap-3`,children:e.artifacts.map(e=>(0,Y.jsx)(`div`,{className:`rounded-md border border-border bg-card px-4 py-3`,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.label}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:e.summary})]}),(0,Y.jsx)(G,{variant:`outline`,children:fi(e.kind)})]})},e.id))})]})]}),(0,Y.jsx)(g,{value:`evidence`,children:(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(K,{children:`Finding evidence`}),(0,Y.jsx)(be,{request:e.latest.evidenceRequest,response:e.latest.evidenceResponse,analysis:e.latest.evidenceAnalysis})]})}),(0,Y.jsx)(g,{value:`occurrences`,children:(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Occurrences`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Matching findings`}),(0,Y.jsx)(V,{children:`Each row is an occurrence grouped into this finding family.`})]})}),(0,Y.jsx)(H,{children:(0,Y.jsxs)(j,{children:[(0,Y.jsx)(S,{children:(0,Y.jsxs)(O,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(E,{children:`Finding`}),(0,Y.jsx)(E,{children:`Scan`}),(0,Y.jsx)(E,{children:`Time`}),(0,Y.jsx)(E,{className:`w-[8rem]`,children:`Status`})]})}),(0,Y.jsx)(ee,{children:e.rows.map(e=>(0,Y.jsxs)(O,{children:[(0,Y.jsx)(te,{className:`font-mono text-xs text-foreground`,children:e.id.slice(0,8)}),(0,Y.jsx)(te,{className:`font-mono text-xs text-muted-foreground`,children:e.scanId.slice(0,8)}),(0,Y.jsx)(te,{className:`text-xs text-muted-foreground`,children:a(e.timestamp)}),(0,Y.jsx)(te,{children:(0,Y.jsx)(T,{value:e.status})})]},e.id))})]})})]})})]})})]})}function ii({groups:e,readyGroups:t,activeGroups:n,blockedGroups:r,selectedFingerprint:i,queueSort:a,pendingFingerprint:o,onSortChange:s,onSelect:c}){return(0,Y.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsxs)(he,{children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Autonomous queue`}),(0,Y.jsx)(L,{className:`mt-2`,children:`What can move next`}),(0,Y.jsx)(V,{children:`This queue separates runnable work from active execution. Open a finding when evidence needs a human decision or chat handoff.`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(z,{variant:a===`attention`?`default`:`outline`,size:`xs`,onClick:()=>s(`attention`),children:`Needs attention`}),(0,Y.jsx)(z,{variant:a===`newest`?`default`:`outline`,size:`xs`,onClick:()=>s(`newest`),children:`Newest`}),(0,Y.jsx)(z,{variant:a===`severity`?`default`:`outline`,size:`xs`,onClick:()=>s(`severity`),children:`Severity`})]})]}),(0,Y.jsx)(H,{className:`space-y-4`,children:e.length===0?(0,Y.jsx)(U,{title:`No finding families in the queue`,body:`Adjust filters or launch a run to populate the finding queue.`}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(oi,{eyebrow:`Ready`,title:`Ready to claim`,description:`Runnable finding families with no review gate. These are the next autonomous work candidates.`,count:t.length,emptyLabel:`No ready finding families under the active filters.`,children:t.map(e=>(0,Y.jsx)(si,{group:e,selected:i===e.fingerprint,saving:o===e.fingerprint,mode:`inbox`,onSelect:c},e.fingerprint))}),(0,Y.jsx)(oi,{eyebrow:`Running`,title:`Live execution`,description:`Finding families currently owned by a worker or marked in progress.`,count:n.length,emptyLabel:`No live execution right now.`,children:n.map(e=>(0,Y.jsx)(si,{group:e,selected:i===e.fingerprint,saving:o===e.fingerprint,mode:`inbox`,onSelect:c},e.fingerprint))})]})})]}),(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Blocked work`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Needs intervention`}),(0,Y.jsx)(V,{children:`Finding families that need context, access, or a better exploit path before the worker can continue.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:r.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(U,{title:`Nothing is blocked`,body:`The current finding set has no blocked execution paths.`})}):(0,Y.jsx)(fe,{className:`max-h-[38rem]`,children:(0,Y.jsx)(R,{children:r.map(e=>(0,Y.jsx)(si,{group:e,selected:i===e.fingerprint,saving:o===e.fingerprint,mode:`review`,onSelect:c},e.fingerprint))})})})]}),(0,Y.jsxs)(W,{children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Reading model`}),(0,Y.jsx)(L,{className:`mt-2`,children:`How to use findings`}),(0,Y.jsx)(V,{children:`Runs create evidence. Finding families group related observations over time. Workers claim runnable work until a review gate or blocker stops them.`})]})}),(0,Y.jsxs)(H,{className:`grid gap-3`,children:[(0,Y.jsx)(ci,{label:`Filtered families`,value:`${e.length}`,meta:`Current queue scope after search and filters.`}),(0,Y.jsx)(ci,{label:`Ready plus running`,value:`${t.length+n.length}`,meta:`Work automation can touch without human sign-off.`}),(0,Y.jsx)(ci,{label:`Blocked plus review`,value:`${r.length}`,meta:`Cases outside the autonomous happy path.`})]})]})]})]})}function ai({agentReviewGroups:e,humanReviewGroups:t,selectedFingerprint:n,pendingFingerprint:r,onSelect:i}){return(0,Y.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Agent review`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Consensus and replication`}),(0,Y.jsx)(V,{children:`Finding families that need another autonomous pass, conflict resolution, or a stronger PoC before operator review.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:e.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(U,{title:`No agent-review families`,body:`Nothing currently needs another agent pass under the active filters.`})}):(0,Y.jsx)(fe,{className:`max-h-[70vh]`,children:(0,Y.jsx)(R,{children:e.map(e=>(0,Y.jsx)(si,{group:e,selected:n===e.fingerprint,saving:r===e.fingerprint,mode:`review`,onSelect:i},e.fingerprint))})})})]}),(0,Y.jsxs)(W,{className:`overflow-hidden`,children:[(0,Y.jsx)(he,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:`Human review`}),(0,Y.jsx)(L,{className:`mt-2`,children:`Operator sign-off`}),(0,Y.jsx)(V,{children:`Finding families with enough signal for a final human disposition or report.`})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:t.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(U,{title:`No human-review families`,body:`No finding families currently require operator sign-off under the active filters.`})}):(0,Y.jsx)(fe,{className:`max-h-[70vh]`,children:(0,Y.jsx)(R,{children:t.map(e=>(0,Y.jsx)(si,{group:e,selected:n===e.fingerprint,saving:r===e.fingerprint,mode:`review`,onSelect:i},e.fingerprint))})})})]})]})}function oi({eyebrow:e,title:t,description:n,count:r,emptyLabel:i,children:a}){return(0,Y.jsxs)(W,{className:`overflow-hidden`,size:`sm`,children:[(0,Y.jsx)(he,{className:`border-b border-border`,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(K,{children:e}),(0,Y.jsx)(L,{className:`mt-2`,children:t}),(0,Y.jsx)(V,{children:n})]}),(0,Y.jsx)(G,{variant:`neutral`,children:r})]})}),(0,Y.jsx)(H,{className:`px-0 pb-0`,children:r===0?(0,Y.jsx)(`div`,{className:`px-4 pb-4`,children:(0,Y.jsx)(U,{title:i,body:`The queue will repopulate here as runs produce finding work.`})}):(0,Y.jsx)(R,{children:a})})]})}function si({group:e,selected:t,saving:n,mode:r,onSelect:i}){let o=r===`review`?e.workflow.reviewGate===`agent_review`?`Needs agent replication or conflict resolution.`:`Needs operator decision before final disposition.`:e.workflow.reviewReason?e.workflow.reviewReason:e.workflow.phase===`in_progress`?`Execution is active now.`:e.workflow.phase===`blocked`?`Execution is blocked and needs intervention.`:`Ready for the next autonomous step.`;return(0,Y.jsx)(me,{interactive:!0,selected:t,className:`p-0`,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>i(e.fingerprint),className:`w-full px-4 py-4 text-left`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-semibold leading-5 text-foreground`,children:e.latest.title}),(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:o})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 flex-wrap justify-end gap-2`,children:[e.workflow.reviewGate===`none`?null:(0,Y.jsx)(D,{value:e.workflow.reviewGate}),(0,Y.jsx)(ne,{severity:e.latest.severity})]})]}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,Y.jsx)(C,{value:e.workflow.phase}),(0,Y.jsx)(A,{value:e.workflow.consensus}),(0,Y.jsx)(w,{value:e.workflow.evidenceSignal}),(0,Y.jsx)(T,{value:e.latest.triageStatus}),e.workflow.persistedStatus!==e.workflow.phase&&e.workflow.persistedStatus!==e.workflow.reviewGate?(0,Y.jsx)(k,{value:e.workflow.persistedStatus}):null]}),(0,Y.jsxs)(`div`,{className:`mt-3 grid gap-2 text-xs text-muted-foreground md:grid-cols-4`,children:[(0,Y.jsxs)(`div`,{children:[`Owner: `,e.workflow.assignee??`Unassigned`]}),(0,Y.jsxs)(`div`,{children:[`Coverage: `,e.count,` hits · `,e.scanCount,` scans`]}),(0,Y.jsxs)(`div`,{children:[`Agents: `,e.workflow.activeAgentRoles.length>0?e.workflow.activeAgentRoles.join(`, `):`None`]}),(0,Y.jsxs)(`div`,{className:`inline-flex items-center gap-1.5`,children:[(0,Y.jsx)(m,{className:`size-3.5`}),n?`Saving workflow...`:`Updated ${a(e.workflow.updatedAt??e.latest.timestamp)}`]})]})]})})}function ci({label:e,value:t,meta:n}){return(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-card px-4 py-3`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,Y.jsx)(`div`,{className:`mt-2 text-2xl font-semibold text-foreground`,children:t}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:n})]})}function li({value:e}){return(0,Y.jsx)(G,{variant:e===`done`?`success`:e===`blocked`||e===`cancelled`?`danger`:e===`in_progress`?`accent`:e===`todo`?`warning`:`neutral`,children:e.replaceAll(`_`,` `)})}function ui({items:e,activeWorkItemId:t,blockedWorkItemId:n}){return(0,Y.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:e.map(e=>{let r=t===e.id,i=n===e.id;return(0,Y.jsxs)(`div`,{className:`rounded-md border px-4 py-3 ${i?`border-destructive/30 bg-destructive/5`:r?`border-primary/30 bg-primary/5`:`border-border bg-card`}`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.title}),r?(0,Y.jsx)(G,{variant:`accent`,children:`Current`}):null,i?(0,Y.jsx)(G,{variant:`danger`,children:`Blocked`}):null]}),(0,Y.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:e.summary})]}),(0,Y.jsx)(li,{value:e.status})]}),(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,Y.jsx)(G,{variant:`outline`,children:pi(e.kind)}),(0,Y.jsx)(G,{variant:`outline`,children:e.owner??`Unassigned`})]})]},e.id)})})}function di({label:e,value:t,mono:n=!1}){return(0,Y.jsxs)(`div`,{className:`rounded-md border border-border bg-card px-4 py-3`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,Y.jsx)(`div`,{className:n?`mt-2 truncate font-mono text-xs text-foreground`:`mt-2 text-sm font-medium text-foreground`,children:t})]})}function fi(e){return e.replaceAll(`_`,` `)}function pi(e){return e.replaceAll(`_`,` `)}function mi(e){return e.replaceAll(`-`,` `)}function hi(e){let t=e.toLowerCase();return t===`critical`?5:t===`high`?4:t===`medium`?3:t===`low`?2:1}function gi(e){let t=0;return e.workflow.reviewGate===`human_review`?t+=100:e.workflow.reviewGate===`agent_review`?t+=90:e.workflow.phase===`blocked`?t+=80:e.workflow.phase===`in_progress`?t+=70:e.workflow.phase===`todo`?t+=60:e.workflow.phase===`backlog`&&(t+=50),e.workflow.assignee||(t+=15),e.workflow.consensus===`disputed`&&(t+=12),e.workflow.activeAgentRoles.length>0&&(t+=8),t*1e6+e.latest.timestamp+hi(e.latest.severity)*1e3}function _i(e){return e===`done`||e===`cancelled`||e===`blocked`||e===`in_progress`||e===`todo`?e:`backlog`}function vi({label:e,className:t,children:n}){return(0,Y.jsxs)(`div`,{className:`space-y-3 rounded-md border border-border bg-card px-4 py-4 ${t??``}`,children:[(0,Y.jsx)(K,{children:e}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:n})]})}function yi({active:e,onClick:t,children:n}){return(0,Y.jsx)(z,{variant:e?`default`:`outline`,size:`xs`,onClick:t,children:n})}export{ni as FindingsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{_ as r,a as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,o as p,p as m,r as h,t as g,u as _,v}from"./operations-e2CGYKB1.js";var y=class extends v{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=i(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof o(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!m(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&C(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||o(this.options.enabled,this.#t)!==o(t.enabled,this.#t)||s(this.options.staleTime,this.#t)!==s(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||o(this.options.enabled,this.#t)!==o(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(d)),t}#g(){this.#b();let e=s(this.options.staleTime,this.#t);if(p.isServer()||this.#r.isStale||!a(e))return;let t=l(this.#r.dataUpdatedAt,e)+1;this.#d=c.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(p.isServer()||o(this.options.enabled,this.#t)===!1||!a(this.#p)||this.#p===0)&&(this.#f=c.setInterval(()=>{(this.options.refetchIntervalInBackground||r.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(c.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(c.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,a=this.#r,s=this.#i,c=this.#a,l=e===n?this.#n:e.state,{state:u}=e,d={...u},f=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(d={...d,...h(u.data,e.options)}),t._optimisticResults===`isRestoring`&&(d.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:g,status:v}=d;p=d.data;let y=!1;if(t.placeholderData!==void 0&&p===void 0&&v===`pending`){let e;a?.isPlaceholderData&&t.placeholderData===c?.placeholderData?(e=a.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,p=_(a?.data,e,t),f=!0)}if(t.select&&p!==void 0&&!y){if(a&&p===s?.data&&t.select===this.#c)p=this.#l;else try{this.#c=t.select,p=t.select(p),p=_(a?.data,p,t),this.#l=p,this.#s=null}catch(e){this.#s=e}}this.#s&&(m=this.#s,p=this.#l,g=Date.now(),v=`error`);let b=d.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=p!==void 0,O={status:v,fetchStatus:d.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:p,dataUpdatedAt:d.dataUpdatedAt,error:m,errorUpdatedAt:g,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:d.dataUpdateCount>l.dataUpdateCount||d.errorUpdateCount>l.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:d.fetchStatus===`paused`,isPlaceholderData:f,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:o(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,a=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},o=()=>{let e=this.#o=O.promise=i();a(e)},s=this.#o;switch(s.status){case`pending`:e.queryHash===n.queryHash&&a(s);break;case`fulfilled`:(r||O.data!==s.value)&&o();break;case`rejected`:(!r||O.error!==s.reason)&&o()}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!m(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){u.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return o(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||o(t.retryOnMount,e)!==!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(o(t.enabled,e)!==!1&&s(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||o(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return o(t.enabled,e)!==!1&&e.isStaleByTime(s(t.staleTime,e))}function T(e,t){return!m(e.getCurrentResult(),t)}n();var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider;function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),ee=()=>E.useContext(A),j=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?f(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},M=e=>{E.useEffect(()=>{e.clearReset()},[e])},N=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||f(n,[e.error,r])),P=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},F=(e,t)=>e.isLoading&&e.isFetching&&!t,I=(e,t)=>e?.suspense&&t.isPending,L=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function R(e,t,n){let r=O(),i=ee(),a=g(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,P(o),j(o,i,s),M(i);let l=!a.getQueryCache().get(o.queryHash),[f]=E.useState(()=>new t(a,o)),m=f.getOptimisticResult(o),h=!r&&c;if(E.useSyncExternalStore(E.useCallback(e=>{let t=h?f.subscribe(u.batchCalls(e)):d;return f.updateResult(),t},[f,h]),()=>f.getCurrentResult(),()=>f.getCurrentResult()),E.useEffect(()=>{f.setOptions(o)},[o,f]),I(o,m))throw L(o,f,i);if(N({result:m,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw m.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,m),o.experimental_prefetchInRender&&!p.isServer()&&F(m,r)&&(l?L(o,f,i):s?.promise)?.catch(d).finally(()=>{f.updateResult()}),o.notifyOnChangeProps?m:f.trackResult(m)}function z(e,t){return R(e,y,t)}function B(){return document.querySelector(`meta[name="0-control-token"]`)?.getAttribute(`content`)??null}async function V(e,t){let n={"Content-Type":`application/json`,...t?.headers??{}},r=B();r&&(n[`X-0-Control-Token`]=r);let i=await fetch(e,{...t,headers:n});if(!i.ok){let e=`${i.status} ${i.statusText}`;try{let t=await i.json();t.error&&(e=t.error)}catch{}throw Error(e)}let a=i.headers.get(`content-type`)??``;if(!a.includes(`json`))throw Error(`Dashboard API returned ${a||`non-JSON content`} for ${e}. Serve the UI through \`0 dashboard\`.`);return i.json()}function H(){return V(`/api/dashboard`)}async function U(){return(await V(`/api/scans`)).scans}function W(e){return V(`/api/scans/${encodeURIComponent(e)}/events`)}function G(e=20){return V(`/api/events/recent?limit=${encodeURIComponent(String(e))}`)}function K(e){return V(`/api/scans/${encodeURIComponent(e)}/findings`)}function q(e){return V(`/api/finding-family/${encodeURIComponent(e)}`)}function J(e,t,n){return V(`/api/finding-family/${encodeURIComponent(e)}/triage`,{method:`POST`,body:JSON.stringify({triageStatus:t,triageNote:n})})}function Y(e,t,n){return V(`/api/finding-family/${encodeURIComponent(e)}/workflow`,{method:`POST`,body:JSON.stringify({workflowStatus:t,workflowAssignee:n})})}function X(e=3e4){return V(`/api/control/recover-stale-workers`,{method:`POST`,body:JSON.stringify({staleAfterMs:e})})}function Z(){return V(`/api/control/prune-stopped-workers`,{method:`POST`,body:JSON.stringify({})})}function Q(e){return V(`/api/control/reset-database`,{method:`POST`,body:JSON.stringify({seed:e})})}function te(e){return V(`/api/control/start-daemon`,{method:`POST`,body:JSON.stringify(e??{})})}function ne(){return V(`/api/control/stop-daemon`,{method:`POST`,body:JSON.stringify({})})}function re(e){return V(`/api/control/launch-run`,{method:`POST`,body:JSON.stringify(e)})}var $=E.createContext(void 0);function ie(e){let t=E.useContext($);return e||t||`ltr`}function ae(e){return new Date(e).toLocaleString()}function oe(e){if(!e||e<=0)return`n/a`;if(e<1e3)return`${e}ms`;let t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return n===0?`${t}s`:`${n}m ${r}s`}function se(e){return!e||Object.keys(e).length===0?`No payload`:typeof e.summary==`string`&&e.summary.trim()?e.summary.trim():Array.isArray(e.tools)&&e.tools.length>0?`${typeof e.turn==`number`?`turn ${e.turn} · `:``}tools: ${e.tools.join(`, `)}`:typeof e.excerpt==`string`&&e.excerpt.trim()?`${typeof e.turn==`number`?`turn ${e.turn} · `:``}no tool calls · ${e.excerpt.trim().slice(0,120)}`:Object.entries(e).slice(0,3).map(([e,t])=>`${e}: ${ce(t)}`).join(` · `)}function ce(e){return typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):Array.isArray(e)?`${e.length} items`:e&&typeof e==`object`?`${Object.keys(e).length} fields`:`n/a`}export{J as _,H as a,W as c,re as d,Z as f,ne as g,te as h,ie as i,K as l,Q as m,ae as n,q as o,X as p,se as r,G as s,oe as t,U as u,Y as v,z as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),p=o(((e,t)=>{t.exports=f()}));export{l as a,s as i,d as n,o as r,p as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{E as r,y as i}from"./operations-e2CGYKB1.js";import{_ as a}from"./dist-CmX-h7a4.js";import{t as o}from"./bot-yILPnRgD.js";import{t as s}from"./chevron-down-BeDJ-Vka.js";import{t as c}from"./page-header-CIJyycfz.js";import{A as l,C as u,O as d,S as f,T as p,_ as m,c as h,g,h as _,m as v,p as y,s as b,v as x,y as S}from"./operations-app-ER0gg7GN.js";var C=a(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),ee=a(`beaker`,[[`path`,{d:`M4.5 3h15`,key:`c7n0jr`}],[`path`,{d:`M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3`,key:`m1uhx7`}],[`path`,{d:`M6 14h12`,key:`4cwo0f`}]]),w=a(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),T=a(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),E=a(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),D=a(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),O=e(t(),1),k=/([A-Za-z0-9._/\\\-]+(?:\.[A-Za-z0-9]+))[:\s]+L?(\d+)/;function A(e){if(!e)return null;let t=k.exec(e);if(!t)return null;let n=t[1],r=Number.parseInt(t[2],10);return!Number.isFinite(r)||r<=0||!n.includes(`/`)&&!/\.(ts|tsx|js|jsx|py|go|rs|java|rb|php|c|cc|cpp|h|hpp|sh|sql)$/i.test(n)?null:{file:n,line:r}}function te(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!=`object`)return null;let n=t;if(n.schema===`0.events/v1`&&typeof n.kind==`string`)return j(n);if(n.protocol===`0.presentation/v1`&&n.kind===`event`&&typeof n.eventType==`string`&&n.payload&&typeof n.payload==`object`&&!Array.isArray(n.payload)){let e={...n.payload};if(typeof e.ts!=`number`&&typeof n.at==`string`){let t=Date.parse(n.at);Number.isFinite(t)&&(e.ts=t/1e3)}return M(n.eventType,e)}return typeof n.type==`string`&&n.payload&&typeof n.payload==`object`?M(n.type,n.payload):null}function j(e){let t=e.kind,n=typeof e.ts==`number`?e.ts:Date.now()/1e3;if(t===`tool_use`){let t=typeof e.args_preview==`string`?e.args_preview:void 0,r=A(t);return{schema:`0.events/v1`,kind:`tool_use`,ts:n,tool:typeof e.tool==`string`?e.tool:`?`,turn:typeof e.turn==`number`?e.turn:void 0,args_preview:t,file:typeof e.file==`string`?e.file:r?.file,line:typeof e.line==`number`?e.line:r?.line,status:e.status===`ok`||e.status===`error`||e.status===`running`?e.status:`running`,duration_ms:typeof e.duration_ms==`number`?e.duration_ms:void 0}}if(t===`finding`)return{schema:`0.events/v1`,kind:`finding`,ts:n,finding_id:typeof e.finding_id==`string`?e.finding_id:void 0,title:typeof e.title==`string`?e.title:`Finding`,severity:typeof e.severity==`string`?e.severity:void 0,category:typeof e.category==`string`?e.category:void 0,confidence:typeof e.confidence==`number`?e.confidence:void 0,file:typeof e.file==`string`?e.file:void 0,line:typeof e.line==`number`?e.line:void 0};if(t===`stage`){let t=e.transition===`completed`?`completed`:`started`;return{schema:`0.events/v1`,kind:`stage`,ts:n,stage:typeof e.stage==`string`?e.stage:`stage`,transition:t,role:typeof e.role==`string`?e.role:void 0,turn:typeof e.turn==`number`?e.turn:void 0,duration_ms:typeof e.duration_ms==`number`?e.duration_ms:void 0}}return null}function M(e,t){let n=typeof t.ts==`number`?t.ts:Date.now()/1e3;if(e===`tool_call_started`||e===`tool_call_completed`){let r=typeof t.args_preview==`string`?t.args_preview:void 0,i=A(r),a=e===`tool_call_started`?`running`:t.status===`error`?`error`:`ok`;return{schema:`0.events/v1`,kind:`tool_use`,ts:n,tool:typeof t.tool==`string`?t.tool:`?`,turn:typeof t.turn==`number`?t.turn:void 0,args_preview:r,file:i?.file,line:i?.line,status:a,duration_ms:typeof t.duration_ms==`number`?t.duration_ms:void 0}}return e===`finding_ingested`?{schema:`0.events/v1`,kind:`finding`,ts:n,finding_id:typeof t.finding_id==`string`?t.finding_id:void 0,title:typeof t.title==`string`?t.title:`Finding`,severity:typeof t.severity==`string`?t.severity.toLowerCase():void 0,category:typeof t.category==`string`?t.category:void 0,confidence:typeof t.confidence==`number`?t.confidence:void 0,file:typeof t.file==`string`?t.file:void 0,line:typeof t.line==`number`?t.line:void 0}:e===`step_started`||e===`step_completed`?{schema:`0.events/v1`,kind:`stage`,ts:n,stage:typeof t.step==`string`?t.step:`stage`,transition:e===`step_started`?`started`:`completed`,duration_ms:typeof t.duration_ms==`number`?t.duration_ms:void 0}:e===`agent_turn_started`||e===`agent_turn_completed`?{schema:`0.events/v1`,kind:`stage`,ts:n,stage:`turn ${typeof t.turn==`number`?t.turn:`?`}`,transition:e===`agent_turn_started`?`started`:`completed`,role:typeof t.role==`string`?t.role:void 0,turn:typeof t.turn==`number`?t.turn:void 0,duration_ms:typeof t.duration_ms==`number`?t.duration_ms:void 0}:null}var N=n(),ne=24,re=60,ie=80;function P(e){return e>=.9?`text-destructive`:e>=.75?`text-amber-600 dark:text-amber-400`:e>=.5?`text-sky-600 dark:text-sky-400`:`text-muted-foreground`}function F(e){return e>=.9?`bg-destructive/12`:e>=.75?`bg-amber-500/12`:e>=.5?`bg-sky-500/12`:``}function I(e){return e.toFixed(2)}function L(e,t){if(t===null)return new Date(e*1e3).toLocaleTimeString();let n=e-t;return n<0?`${n.toFixed(1)}s`:`+${n.toFixed(1)}s`}function R(e){let t=(e??``).toLowerCase();return t===`critical`||t===`high`?`danger`:t===`medium`?`warning`:t===`low`||t===`info`?`info`:`neutral`}function z(e,t,n){let r=null;for(let i of e){if(!i.file.endsWith(t)&&!t.endsWith(i.file)||n<i.start_line-20||n>i.end_line+20)continue;if(!r){r=i;continue}let e=Math.max(0,r.start_line-n,n-r.end_line);Math.max(0,i.start_line-n,n-i.end_line)<e&&(r=i)}return r}function ae(){let e=Date.now()/1e3,t=e=>e;return[t({schema:`gemmaforge.events/v1`,kind:`scan.start`,ts:e,repo:`examples/express-app`,model_id:`google/gemma-4-E2B-it`,layer:17,chunker:`function`}),t({schema:`gemmaforge.events/v1`,kind:`scan.file`,ts:e+.4,file:`src/router.js`,chunks:12}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.6,token:`app.get(`,score:.14,position:1}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.7,token:`'/u/:id'`,score:.31,position:2}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.8,token:` db.query(`,score:.72,position:12}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+.9,token:`'SELECT * FROM users WHERE id='`,score:.84,position:18}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+1,token:` + req.params.id`,score:.93,position:23}),t({schema:`gemmaforge.events/v1`,kind:`probe.alarm`,ts:e+1.05,window:[38,52],top_cwe:`CWE-89`,confidence:.93}),t({schema:`gemmaforge.events/v1`,kind:`scan.lead`,ts:e+1.1,file:`src/router.js`,start_line:38,end_line:52,confidence:.93,top_cwe:`CWE-89`,rank:0}),t({schema:`gemmaforge.events/v1`,kind:`scan.file`,ts:e+1.4,file:`src/exec.js`,chunks:4}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+1.6,token:`child_process.exec(`,score:.81,position:4}),t({schema:`gemmaforge.events/v1`,kind:`probe.token`,ts:e+1.7,token:" `ping ${host}`",score:.88,position:7}),t({schema:`gemmaforge.events/v1`,kind:`probe.alarm`,ts:e+1.78,window:[12,22],top_cwe:`CWE-78`,confidence:.87}),t({schema:`gemmaforge.events/v1`,kind:`scan.lead`,ts:e+1.82,file:`src/exec.js`,start_line:12,end_line:22,confidence:.87,top_cwe:`CWE-78`,rank:1}),t({schema:`gemmaforge.events/v1`,kind:`scan.end`,ts:e+2.4,files_seen:2,chunks_scored:16,leads_emitted:2,elapsed_seconds:2.4})]}function oe(e){return[{schema:`0.events/v1`,kind:`stage`,ts:e+1.2,stage:`audit`,transition:`started`,role:`attack`},{schema:`0.events/v1`,kind:`tool_use`,ts:e+1.3,tool:`read_file`,turn:1,args_preview:`src/router.js:38`,file:`src/router.js`,line:38,status:`ok`,duration_ms:14},{schema:`0.events/v1`,kind:`tool_use`,ts:e+1.5,tool:`shell`,turn:1,args_preview:`grep -n 'db.query' src/router.js`,status:`ok`,duration_ms:47},{schema:`0.events/v1`,kind:`finding`,ts:e+1.9,finding_id:`f-001`,title:`SQL injection via req.params.id`,severity:`high`,category:`injection`,confidence:.92,file:`src/router.js`,line:42},{schema:`0.events/v1`,kind:`tool_use`,ts:e+2,tool:`read_file`,turn:2,args_preview:`src/exec.js:12`,file:`src/exec.js`,line:12,status:`ok`,duration_ms:9},{schema:`0.events/v1`,kind:`finding`,ts:e+2.3,finding_id:`f-002`,title:`Command injection in ping handler`,severity:`critical`,category:`rce`,confidence:.88,file:`src/exec.js`,line:17},{schema:`0.events/v1`,kind:`stage`,ts:e+2.5,stage:`audit`,transition:`completed`,role:`attack`,duration_ms:1300}]}function B(){let[e,t]=r(),n=e.get(`events`)??``,i=e.get(`huntEvents`)??`/api/v1/presentation/events`,a=e.get(`demo`)===`1`,[o,s]=(0,O.useState)([]),[l,u]=(0,O.useState)([]),[p,m]=(0,O.useState)([]),[C,w]=(0,O.useState)([]),[T,E]=(0,O.useState)(null),[D,k]=(0,O.useState)([]),[j,M]=(0,O.useState)(null),[P,F]=(0,O.useState)(`idle`),[I,L]=(0,O.useState)(`idle`),[R,B]=(0,O.useState)(null),[H,U]=(0,O.useState)(null),[W,ue]=(0,O.useState)(n),[G,de]=(0,O.useState)(i),K=(0,O.useRef)(null),q=(0,O.useRef)(null),fe=(0,O.useRef)(0),J=(0,O.useRef)([]);(0,O.useEffect)(()=>{J.current=p},[p]);let Y=(0,O.useCallback)(()=>(fe.current+=1,`evt-${fe.current}`),[]),X=(0,O.useCallback)(e=>{switch(q.current===null&&typeof e.ts==`number`&&(q.current=e.ts),e.kind){case`scan.start`:E({repo:e.repo,model_id:e.model_id,layer:e.layer}),M(null),k([]);break;case`scan.file`:k(t=>t.includes(e.file)?t:[...t,e.file].slice(-12));break;case`probe.token`:{let t={id:Y(),ts:e.ts,token:e.token,score:e.score,position:e.position??null};s(e=>[...e,t].slice(-240));break}case`probe.alarm`:{let t={id:Y(),ts:e.ts,window:e.window,top_cwe:e.top_cwe??null,confidence:e.confidence};K.current=t,u(e=>[t,...e].slice(0,ne));break}case`scan.lead`:{let t={id:Y(),ts:e.ts,file:e.file,start_line:e.start_line,end_line:e.end_line,confidence:e.confidence,top_cwe:e.top_cwe??null,rank:e.rank??null,originatingAlarmId:K.current?.id??null};m(e=>[t,...e].slice(0,re));break}case`scan.end`:M({files_seen:e.files_seen,chunks_scored:e.chunks_scored,leads_emitted:e.leads_emitted,elapsed_seconds:e.elapsed_seconds})}},[Y]),Z=(0,O.useCallback)(e=>{q.current===null&&typeof e.ts==`number`&&(q.current=e.ts);let t=null;if((e.kind===`tool_use`||e.kind===`finding`)&&e.file&&typeof e.line==`number`)t=z(J.current,e.file,e.line)?.id??null;else if(e.kind===`tool_use`&&e.args_preview){let n=A(e.args_preview);n&&(t=z(J.current,n.file,n.line)?.id??null)}let n={id:Y(),ts:e.ts,event:e,citedLeadId:t};w(e=>[n,...e].slice(0,ie))},[Y]),Q=(0,O.useCallback)(()=>{s([]),u([]),m([]),w([]),E(null),k([]),M(null),U(null),B(null),K.current=null,q.current=null},[]);(0,O.useEffect)(()=>{if(!a)return;Q(),F(`open`),L(`open`);let e=ae(),t=e[0]?.ts??Date.now()/1e3,n=oe(t),r=[];for(let n of e){let e=Math.max(0,(n.ts-t)*1e3);r.push(setTimeout(()=>X(n),e))}for(let e of n){let n=Math.max(0,(e.ts-t)*1e3);r.push(setTimeout(()=>Z(e),n))}let i=((e.at(-1)?.ts??t)-t)*1e3+300;return r.push(setTimeout(()=>{F(`closed`),L(`closed`)},i)),()=>{for(let e of r)clearTimeout(e)}},[a,X,Z,Q]),(0,O.useEffect)(()=>{if(a||!n)return;s([]),u([]),m([]),E(null),k([]),M(null),U(null),K.current=null,q.current=null,F(`connecting`);let e=null;try{e=new EventSource(n)}catch(e){F(`error`),B(e instanceof Error?e.message:String(e));return}return e.onopen=()=>F(`open`),e.onerror=()=>{F(`error`),B(`EventSource error (connection dropped or refused).`)},e.onmessage=e=>{let t=typeof e.data==`string`?e.data.trim():``;if(t)try{let e=JSON.parse(t);if(e.schema!==`gemmaforge.events/v1`)return;X(e)}catch(e){B(e instanceof Error?e.message:String(e))}},()=>{e?.close(),F(`closed`)}},[a,n,X]),(0,O.useEffect)(()=>{if(a||!i)return;w([]),L(`connecting`);let e=null;try{e=new EventSource(i)}catch(e){L(`error`),B(e instanceof Error?e.message:String(e));return}e.onopen=()=>L(`open`),e.onerror=()=>{L(`error`),B(`Hunt EventSource error (connection dropped or refused).`)};let t=e=>{let t=typeof e.data==`string`?e.data.trim():``;if(!t)return;let n=te(t);n&&Z(n)};return e.onmessage=t,e.addEventListener(`presentation`,t),()=>{e?.close(),L(`closed`)}},[a,i,Z]);let pe=(0,O.useCallback)(()=>{let n=new URLSearchParams(e);n.delete(`demo`),W.trim()?n.set(`events`,W.trim()):n.delete(`events`),G.trim()?n.set(`huntEvents`,G.trim()):n.delete(`huntEvents`),t(n,{replace:!0})},[e,t,W,G]),me=(0,O.useCallback)(()=>{let n=new URLSearchParams(e);n.delete(`events`),n.delete(`huntEvents`),n.set(`demo`,`1`),t(n,{replace:!0})},[e,t]),he=(0,O.useCallback)(()=>{let n=new URLSearchParams(e);n.delete(`events`),n.delete(`huntEvents`),n.delete(`demo`),t(n,{replace:!0}),Q(),F(`idle`),L(`idle`)},[e,Q,t]),$=(0,O.useMemo)(()=>p.find(e=>e.id===H)??null,[p,H]),ge=$?.originatingAlarmId??null,_e=(0,O.useMemo)(()=>{let e=[P,I];return e.includes(`open`)?`open`:e.includes(`connecting`)?`connecting`:e.includes(`error`)?`error`:e.includes(`closed`)?`closed`:`idle`},[P,I]),ve=(0,O.useCallback)(e=>{e.citedLeadId&&U(t=>t===e.citedLeadId?null:e.citedLeadId)},[]);return(0,N.jsxs)(`div`,{className:`space-y-6`,children:[(0,N.jsx)(c,{eyebrow:`GemmaForge × 0`,title:`Live workflow`,summary:`Watch the probe → seed leads → agent hunt pipeline in real time. Probe firings stream from gemmaforge.events/v1, leads accumulate to the worklist, and 0's hunters surface tool calls and findings as they happen.`,actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(V,{state:_e}),(0,N.jsxs)(h,{variant:a?`outline`:`accent`,onClick:me,children:[(0,N.jsx)(ee,{}),`Demo replay`]}),(0,N.jsx)(h,{variant:`outline`,onClick:he,disabled:_e===`idle`,children:`Stop`})]})}),(0,N.jsxs)(v,{className:`overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Event sources`}),(0,N.jsx)(f,{className:`mt-2`,children:`SSE endpoints`}),(0,N.jsxs)(g,{children:[`The probe + lead lanes consume `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`gemmaforge.events/v1`}),`; the hunt lane consumes `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`0.events/v1`}),`. Run`,` `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`node scripts/serve-events.mjs <gemma.ndjson> --0-log <0.log>`}),` `,`to expose both at `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`/events`}),` and `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`/hunt-events`}),`.`]})]})}),(0,N.jsxs)(_,{className:`space-y-3`,children:[(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70 w-24`,children:`gemmaforge`}),(0,N.jsx)(b,{value:W,onChange:e=>ue(e.target.value),placeholder:`http://localhost:8765/events`,className:`min-w-[16rem] flex-1`}),(0,N.jsx)(V,{state:P})]}),(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70 w-24`,children:`0`}),(0,N.jsx)(b,{value:G,onChange:e=>de(e.target.value),placeholder:`http://localhost:8765/hunt-events`,className:`min-w-[16rem] flex-1`}),(0,N.jsx)(V,{state:I})]}),(0,N.jsx)(`div`,{className:`flex justify-end`,children:(0,N.jsxs)(h,{onClick:pe,disabled:!W.trim()&&!G.trim(),children:[(0,N.jsx)(d,{}),`Connect`]})}),T?(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[T.repo?(0,N.jsxs)(y,{variant:`neutral`,children:[`repo `,T.repo]}):null,T.model_id?(0,N.jsxs)(y,{variant:`neutral`,children:[`model `,T.model_id]}):null,T.layer===void 0?null:(0,N.jsxs)(y,{variant:`neutral`,children:[`layer `,T.layer]}),D.length>0?(0,N.jsxs)(`span`,{className:`text-muted-foreground`,children:[`files: `,(0,N.jsx)(`span`,{className:`font-mono`,children:D.slice(-4).join(`, `)})]}):null]}):null,j?(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs`,children:[(0,N.jsx)(y,{variant:`success`,children:`scan complete`}),(0,N.jsxs)(`span`,{className:`text-muted-foreground`,children:[j.files_seen??`?`,` files · `,j.chunks_scored??`?`,` chunks · `,j.leads_emitted??`?`,` leads · `,j.elapsed_seconds?.toFixed(1)??`?`,`s`]})]}):null,R?(0,N.jsx)(`div`,{className:`rounded-md border border-destructive/20 bg-destructive/5 px-3 py-2 text-xs text-destructive`,children:R}):null]})]}),(0,N.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-3`,children:[(0,N.jsx)(se,{tokens:o,alarms:l,highlightedAlarmId:ge,baseTs:q.current,onClearSelection:()=>U(null),hasSelection:$!==null}),(0,N.jsx)(ce,{leads:p,baseTs:q.current,selectedLeadId:H,onSelectLead:e=>U(t=>t===e?null:e)}),(0,N.jsx)(le,{cards:C,selectedLead:$,selectedLeadId:H,baseTs:q.current,onCardClick:ve})]})]})}function V({state:e}){return e===`open`?(0,N.jsxs)(y,{variant:`success`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` live`]}):e===`connecting`?(0,N.jsxs)(y,{variant:`warning`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` connecting`]}):e===`error`?(0,N.jsxs)(y,{variant:`danger`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` error`]}):e===`closed`?(0,N.jsxs)(y,{variant:`neutral`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` closed`]}):(0,N.jsxs)(y,{variant:`neutral`,className:`gap-1.5`,children:[(0,N.jsx)(d,{className:`size-3`}),` idle`]})}function se({tokens:e,alarms:t,highlightedAlarmId:n,baseTs:r,onClearSelection:i,hasSelection:a}){let o=(0,O.useRef)(null);return(0,O.useEffect)(()=>{let e=o.current;e&&(e.scrollTop=e.scrollHeight)},[e.length]),(0,N.jsxs)(v,{className:`flex flex-col overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Lane 1 · Probe`}),(0,N.jsxs)(f,{className:`mt-2 flex items-center gap-2`,children:[(0,N.jsx)(D,{className:`size-4 text-primary-text`}),`Probe firings`]}),(0,N.jsxs)(g,{children:[`Per-token probe scores from `,(0,N.jsx)(`code`,{className:`font-mono text-xs`,children:`stream_with_probe.py`}),`. Alarms pin to the top when the rolling score crosses threshold.`]})]})}),(0,N.jsxs)(_,{className:`flex flex-1 flex-col gap-3`,children:[t.length===0?null:(0,N.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,N.jsxs)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:[`Alarms `,(0,N.jsxs)(`span`,{className:`text-muted-foreground/40`,children:[`(`,t.length,`)`]})]}),(0,N.jsx)(`div`,{className:`space-y-1.5`,children:t.slice(0,4).map(e=>(0,N.jsxs)(`div`,{className:u(`rounded-md border px-3 py-2 transition-colors`,n===e.id?`border-primary/40 bg-primary/8 ring-1 ring-primary/30`:`border-destructive/20 bg-destructive/5`),children:[(0,N.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(p,{className:`size-3.5 text-destructive`}),(0,N.jsxs)(`span`,{className:`font-mono`,children:[`L`,e.window[0],`–`,e.window[1]]}),e.top_cwe?(0,N.jsx)(y,{variant:`danger`,children:e.top_cwe}):null]}),(0,N.jsx)(`span`,{className:`font-mono text-destructive`,children:I(e.confidence)})]}),(0,N.jsxs)(`div`,{className:`mt-1 text-[10px] text-muted-foreground`,children:[L(e.ts,r),n===e.id?` · originating fire`:``]})]},e.id))}),a?(0,N.jsx)(h,{variant:`ghost`,size:`xs`,onClick:i,children:`Clear lead selection`}):null]}),(0,N.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,N.jsxs)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:[`Token stream `,(0,N.jsxs)(`span`,{className:`text-muted-foreground/40`,children:[`(`,e.length,`)`]})]}),(0,N.jsx)(`div`,{ref:o,className:`max-h-[28rem] min-h-[12rem] overflow-y-auto rounded-md border border-border bg-muted/10 px-3 py-3 font-mono text-xs leading-relaxed`,children:e.length===0?(0,N.jsx)(`div`,{className:`text-muted-foreground`,children:`Waiting for probe.token events…`}):(0,N.jsx)(`div`,{className:`flex flex-wrap gap-x-0.5 gap-y-1`,children:e.map(e=>(0,N.jsx)(`span`,{title:`score ${I(e.score)} · pos ${e.position??`?`}`,className:u(`rounded-sm px-1 py-0.5`,P(e.score),F(e.score)),children:e.token},e.id))})}),(0,N.jsxs)(`div`,{className:`flex items-center gap-3 text-[10px] text-muted-foreground`,children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-muted-foreground/50`}),` <0.5`]}),(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-sky-500`}),` 0.5–0.75`]}),(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-amber-500`}),` 0.75–0.9`]}),(0,N.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`size-2 rounded-full bg-destructive`}),` ≥0.9`]})]})]})]})]})}function ce({leads:e,baseTs:t,selectedLeadId:n,onSelectLead:r}){return(0,N.jsxs)(v,{className:`flex flex-col overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Lane 2 · Leads`}),(0,N.jsxs)(f,{className:`mt-2 flex items-center gap-2`,children:[(0,N.jsx)(l,{className:`size-4 text-primary-text`}),`Seed worklist`]}),(0,N.jsx)(g,{children:"Regions that passed `--min-confidence` and shipped to the leads file. Click a lead to highlight the probe firing that originated it; click a hunt tool-call to highlight the lead it cites."})]})}),(0,N.jsx)(_,{className:`flex flex-1 flex-col`,children:e.length===0?(0,N.jsx)(m,{children:`Waiting for scan.lead events…`}):(0,N.jsx)(`div`,{className:`max-h-[36rem] space-y-2 overflow-y-auto pr-1`,children:e.map(e=>{let i=e.id===n;return(0,N.jsxs)(`button`,{type:`button`,onClick:()=>r(e.id),className:u(`w-full rounded-md border px-3 py-3 text-left transition-colors`,i?`border-primary/40 bg-primary/8 ring-1 ring-primary/30`:`border-border bg-background hover:border-primary/20 hover:bg-primary/4`),children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`min-w-0`,children:[(0,N.jsx)(`div`,{className:`truncate font-mono text-xs text-foreground`,children:e.file}),(0,N.jsxs)(`div`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:[`lines `,e.start_line,`–`,e.end_line,e.rank===null?``:` · rank #${e.rank}`,` · `,L(e.ts,t)]})]}),(0,N.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:[(0,N.jsx)(y,{variant:`accent`,className:`font-mono`,children:I(e.confidence)}),e.top_cwe?(0,N.jsx)(y,{variant:`danger`,children:e.top_cwe}):null]})]}),i?(0,N.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[10px] text-primary-text`,children:[(0,N.jsx)(w,{className:`size-3`}),`probe lane is highlighting the originating fire`,(0,N.jsx)(C,{className:`ml-auto size-3`}),(0,N.jsx)(s,{className:`size-3`}),`hunt lane is targeting this lead`]}):null]},e.id)})})})]})}function le({cards:e,selectedLead:t,selectedLeadId:n,baseTs:r,onCardClick:a}){return(0,N.jsxs)(v,{className:`flex flex-col overflow-hidden`,children:[(0,N.jsx)(S,{children:(0,N.jsxs)(`div`,{children:[(0,N.jsx)(x,{children:`Lane 3 · Hunt`}),(0,N.jsxs)(f,{className:`mt-2 flex items-center gap-2`,children:[(0,N.jsx)(o,{className:`size-4 text-primary-text`}),`Agent activity`]}),(0,N.jsx)(g,{children:`Live 0 scan events — tool calls, findings, and stage transitions. Click a card that cites a file:line to highlight the originating lead in lane 2.`})]})}),(0,N.jsxs)(_,{className:`flex flex-1 flex-col gap-3`,children:[t?(0,N.jsxs)(`div`,{className:`rounded-md border border-primary/20 bg-primary/4 px-3 py-3`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-medium uppercase tracking-widest text-primary-text`,children:[(0,N.jsx)(T,{className:`size-3`}),`Targeting lead`]}),(0,N.jsx)(`div`,{className:`mt-1 truncate font-mono text-xs text-foreground`,children:t.file}),(0,N.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[`lines `,t.start_line,`–`,t.end_line,` · `,I(t.confidence),t.top_cwe?` · ${t.top_cwe}`:``]})]}):null,e.length===0?(0,N.jsx)(m,{children:`Waiting for 0 hunt events…`}):(0,N.jsx)(`div`,{className:`max-h-[36rem] space-y-2 overflow-y-auto pr-1`,children:e.map(e=>(0,N.jsx)(H,{card:e,baseTs:r,highlightLead:n!==null&&e.citedLeadId===n,onClick:()=>a(e)},e.id))}),(0,N.jsx)(`div`,{className:`mt-auto pt-2`,children:(0,N.jsx)(h,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,N.jsx)(i,{to:`/findings`,children:`Open findings workspace`})})})]})]})}function H({card:e,baseTs:t,highlightLead:n,onClick:r}){let i=e.event,a=e.citedLeadId!==null,o=u(`block w-full rounded-md border px-3 py-3 text-left transition-colors`,n?`border-primary/40 bg-primary/8 ring-1 ring-primary/30`:a?`border-border bg-background hover:border-primary/20 hover:bg-primary/4 cursor-pointer`:`border-border bg-background`),s=i.kind===`tool_use`?(0,N.jsx)(U,{event:i}):i.kind===`finding`?(0,N.jsx)(W,{event:i}):(0,N.jsx)(ue,{event:i}),c=(0,N.jsxs)(`div`,{className:`mt-2 flex items-center justify-between text-[10px] text-muted-foreground`,children:[(0,N.jsx)(`span`,{children:L(e.ts,t)}),a?(0,N.jsxs)(`span`,{className:`flex items-center gap-1 text-primary-text`,children:[(0,N.jsx)(C,{className:`size-3`}),n?`linked to selected lead`:`click to highlight lead`]}):null]});return a?(0,N.jsxs)(`button`,{type:`button`,onClick:r,className:o,children:[s,c]}):(0,N.jsxs)(`div`,{className:o,children:[s,c]})}function U({event:e}){let t=e.status===`ok`?`success`:e.status===`error`?`danger`:`warning`;return(0,N.jsxs)(`div`,{className:`space-y-1`,children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,N.jsx)(E,{className:`size-3.5 shrink-0 text-primary-text`}),(0,N.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:e.tool}),typeof e.turn==`number`?(0,N.jsxs)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:[`turn `,e.turn]}):null]}),(0,N.jsx)(y,{variant:t,children:e.status??`running`})]}),e.args_preview?(0,N.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,title:e.args_preview,children:e.args_preview}):null,e.file?(0,N.jsxs)(`div`,{className:`font-mono text-[11px] text-primary-text`,children:[e.file,typeof e.line==`number`?`:${e.line}`:``]}):null]})}function W({event:e}){return(0,N.jsxs)(`div`,{className:`space-y-1`,children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,N.jsx)(p,{className:`size-3.5 shrink-0 text-destructive`}),(0,N.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:e.title})]}),(0,N.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:[e.severity?(0,N.jsx)(y,{variant:R(e.severity),children:e.severity}):null,typeof e.confidence==`number`?(0,N.jsx)(y,{variant:`accent`,className:`font-mono`,children:I(e.confidence)}):null]})]}),e.category?(0,N.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:e.category}):null,e.file?(0,N.jsxs)(`div`,{className:`font-mono text-[11px] text-primary-text`,children:[e.file,typeof e.line==`number`?`:${e.line}`:``]}):null]})}function ue({event:e}){let t=e.transition===`completed`?`success`:`neutral`;return(0,N.jsxs)(`div`,{className:`space-y-1`,children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,N.jsx)(s,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,N.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:e.stage}),e.role?(0,N.jsx)(y,{variant:`neutral`,children:e.role}):null]}),(0,N.jsx)(y,{variant:t,children:e.transition})]}),typeof e.duration_ms==`number`&&e.duration_ms>0?(0,N.jsxs)(`div`,{className:`font-mono text-[11px] text-muted-foreground`,children:[e.duration_ms,`ms`]}):null]})}export{B as LivePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-C7oxC63R.js";import{C as t,S as n,g as r,h as i,m as a,v as o,x as s,y as c}from"./operations-app-ER0gg7GN.js";var l=e();function u({eyebrow:e,title:s,description:u,actions:d,children:f,className:p}){return(0,l.jsxs)(a,{className:t(`overflow-hidden`,p),children:[(0,l.jsxs)(c,{children:[(0,l.jsxs)(`div`,{className:`min-w-0`,children:[(0,l.jsx)(o,{children:e}),(0,l.jsx)(n,{className:`mt-2`,children:s}),(0,l.jsx)(r,{children:u})]}),d?(0,l.jsx)(`div`,{className:`shrink-0`,children:d}):null]}),(0,l.jsx)(i,{className:`space-y-4`,children:f})]})}function d({label:e,value:t,mono:n=!1}){return(0,l.jsxs)(s,{className:`px-0 py-3 first:pt-0 last:pb-0`,children:[(0,l.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:e}),(0,l.jsx)(`div`,{className:`mt-2 text-sm text-foreground ${n?`font-mono`:``}`,children:t})]})}export{u as n,d as t};
|