0sec-cli 0.18.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{0sec.js → 0.js} +90 -82
- package/LICENSE +1 -1
- package/README.md +62 -46
- package/chunks/adapt-loop-7I57LXXR.js +18 -0
- package/chunks/{adgraph-JLGA6RYI.js → adgraph-AUDQTBYA.js} +5 -5
- package/chunks/agent/skills/frameworks/entra-id.yaml +2 -2
- package/chunks/agent/skills/techniques/assumption-mining.yaml +2 -2
- package/chunks/agent/skills/techniques/cve-poc-adaptation.yaml +2 -2
- package/chunks/agent/skills/techniques/entra-attack-paths.yaml +1 -1
- package/chunks/agent/skills/techniques/kernel-weaponization.yaml +1 -1
- package/chunks/agent/skills/techniques/llm-prompt-injection.yaml +2 -2
- package/chunks/agent/skills/techniques/npm-ecosystem.yaml +1 -1
- package/chunks/agent/skills/techniques/poc-verification.yaml +1 -1
- package/chunks/agent/skills/techniques/seedless-depth-review.yaml +20 -38
- package/chunks/{artifact-scraper-HQ7HLP6V.js → artifact-scraper-PYZ3RU3O.js} +6 -6
- package/chunks/{assumption-mining-5SNIVVDN.js → assumption-mining-MFLF43IR.js} +24 -26
- package/chunks/{chunk-7DQEV5QI.js → chunk-23DG5YKS.js} +4 -4
- package/chunks/{chunk-UR4ELX2Y.js → chunk-2GV4HQKE.js} +340 -703
- package/chunks/{chunk-P6WKNFWX.js → chunk-2OQOQ2FZ.js} +8 -8
- package/chunks/{chunk-5G3ZXFBW.js → chunk-2WNCI664.js} +3 -3
- package/chunks/{chunk-DW5UWPFY.js → chunk-4VGLO2YS.js} +6 -5
- package/chunks/{chunk-KLTNTE2Z.js → chunk-5IBCBQEH.js} +13 -14
- package/chunks/{chunk-N7BOUYEV.js → chunk-5MWAG3FT.js} +14 -14
- package/chunks/{chunk-OEFNRYI2.js → chunk-6GHSR47F.js} +3 -6
- package/chunks/chunk-6YNKRUMC.js +4474 -0
- package/chunks/{chunk-6L26OBWI.js → chunk-76KSBWOQ.js} +255 -35
- package/chunks/chunk-7DEHG7YT.js +2143 -0
- package/chunks/{chunk-AD7WXDH6.js → chunk-7UFUALR2.js} +288 -22
- package/chunks/{chunk-53G27VPS.js → chunk-AZ7L3HFD.js} +7 -2
- package/chunks/{chunk-TSK2AG6J.js → chunk-CAYANSH6.js} +173 -1757
- package/chunks/{chunk-SAFFWQW4.js → chunk-DKSCN2AB.js} +7 -7
- package/chunks/{chunk-2JCCA2JL.js → chunk-DM5C5L5D.js} +3 -3
- package/chunks/{chunk-RWONANDA.js → chunk-DQTNI3KY.js} +5 -5
- package/chunks/{chunk-5JI7L7KV.js → chunk-EGZGZFAH.js} +10036 -12938
- package/chunks/{chunk-6LKRLK2R.js → chunk-FHC2B7LN.js} +3 -3
- package/chunks/{chunk-MYVT64FN.js → chunk-GHWODZMR.js} +2 -2
- package/chunks/{chunk-2RMLOJVB.js → chunk-GVD6SJGH.js} +2 -2
- package/chunks/{chunk-SF4KZ4O3.js → chunk-HLFS6WV2.js} +2 -2
- package/chunks/chunk-HR2TU42B.js +1228 -0
- package/chunks/{chunk-BFRB6HB2.js → chunk-HUNAPTKV.js} +3 -3
- package/chunks/chunk-IO7R7WBM.js +114 -0
- package/chunks/{chunk-WEBMRWEG.js → chunk-IXT64DV5.js} +656 -1868
- package/chunks/{chunk-3MOLBTLS.js → chunk-K2PWUPUI.js} +2 -2
- package/chunks/{chunk-WXQ6BJ6A.js → chunk-LCRTAQN2.js} +7 -7
- package/chunks/{chunk-SVJEDVYK.js → chunk-LPTRPRZR.js} +5 -5
- package/chunks/{chunk-CMKXP5RR.js → chunk-LYUAM3TG.js} +3 -3
- package/chunks/{chunk-BVAZO4WA.js → chunk-MICHDTBK.js} +3 -3
- package/chunks/{chunk-UCYRA73C.js → chunk-OAYUPGF6.js} +4 -4
- package/chunks/{chunk-XM5NLHYU.js → chunk-OWLJYJ5O.js} +14 -14
- package/chunks/{chunk-BKZFDZ23.js → chunk-QCUFBVIZ.js} +3 -3
- package/chunks/chunk-RE5EZDG2.js +5523 -0
- package/chunks/{chunk-ASUR522M.js → chunk-RRD4XXPU.js} +9 -9
- package/chunks/{chunk-AHTBZC3E.js → chunk-RSIUX3RW.js} +4 -4
- package/chunks/{chunk-BZNEY2ZS.js → chunk-SJBCK2EI.js} +15268 -16053
- package/chunks/{chunk-IOL7D5YV.js → chunk-SQCBHFWN.js} +3 -3
- package/chunks/chunk-TH2LW437.js +7829 -0
- package/chunks/{chunk-WVTBZEQO.js → chunk-TM74SSHC.js} +8 -8
- package/chunks/{chunk-U5FLXGHT.js → chunk-TO35Y326.js} +13 -729
- package/chunks/chunk-TRH2PJSN.js +547 -0
- package/chunks/{chunk-YYRBQVFE.js → chunk-TZFIAMWZ.js} +70 -16
- package/chunks/chunk-UELXHK2Y.js +1950 -0
- package/chunks/{chunk-RJWOYEOG.js → chunk-UEX7PFSE.js} +5 -5
- package/chunks/{chunk-VQG4FT5D.js → chunk-UFHN6RIU.js} +2 -2
- package/chunks/{chunk-JQHOLLTD.js → chunk-UU7PQP6N.js} +9 -9
- package/chunks/{chunk-BFR2CDV5.js → chunk-UV5QWZGE.js} +283 -153
- package/chunks/{chunk-WU6AFRAZ.js → chunk-V36HVTUL.js} +12 -12
- package/chunks/{chunk-IR537GON.js → chunk-VCSFCHAJ.js} +2 -2
- package/chunks/{chunk-YLMN3N25.js → chunk-VIT5ALXF.js} +3 -3
- package/chunks/{chunk-BATRQBOR.js → chunk-VMRRNRMR.js} +41 -41
- package/chunks/{chunk-72CISA2D.js → chunk-VNRY6AWF.js} +89 -41
- package/chunks/chunk-W6UWZFKL.js +298 -0
- package/chunks/{chunk-3KPWWJCI.js → chunk-XFCTUKXR.js} +88 -88
- package/chunks/{chunk-GMT2AZKM.js → chunk-YIQSGNAA.js} +897 -130
- package/chunks/codex-models-7TLJSY3L.js +17 -0
- package/chunks/{commands-TBC2F5CE.js → commands-NEI7L3QA.js} +2836 -1424
- package/chunks/corpus-v1.json +2 -2
- package/chunks/data/appsec-archetypes.json +2 -2
- package/chunks/data/chromium-archetypes.json +1 -1
- package/chunks/data/freebsd-archetypes.json +1 -1
- package/chunks/data/kernel-archetypes.json +2 -2
- package/chunks/db-5AP3JB4W.js +16 -0
- package/chunks/{disclose-EKTWSCGW.js → disclose-LDNKAVRH.js} +13 -11
- package/chunks/{dist-4YICS2J2.js → dist-3FNZIBB4.js} +394 -404
- package/chunks/{dist-4MAW5X6L.js → dist-5YHYNLI3.js} +6 -6
- package/chunks/{dist-FMGSR3DW.js → dist-DD4H6HMQ.js} +13 -5
- package/chunks/dist-KEULE5IQ.js +21914 -0
- package/chunks/dist-XZB53PS5.js +53 -0
- package/chunks/eval-runner-43BO2C4T.js +26 -0
- package/chunks/example-manifest.json +2 -2
- package/chunks/{exploit-agent-45YQOHPJ.js → exploit-agent-N4A5ELBK.js} +4 -4
- package/chunks/{exploit-autoclimb-UZGEMGYT.js → exploit-autoclimb-N7P6KIF5.js} +6 -6
- package/chunks/{exploit-climb-SG23KB2G.js → exploit-climb-WNEJUB5W.js} +12 -12
- package/chunks/fix-Z452M4EC.js +26 -0
- package/chunks/{github-issues-MJ6OYOOU.js → github-issues-IGTTWM7V.js} +7 -7
- package/chunks/harness-QJJJVSG4.js +22 -0
- package/chunks/http-conformance-U5F6GKYG.js +11 -0
- package/chunks/http-sender-I5XFFY35.js +10 -0
- package/chunks/hunt-scan-K6D2V3PX.js +36 -0
- package/chunks/{identity-6ZAIIWOR.js → identity-62SVRW4H.js} +5 -5
- package/chunks/{kernel-primitive-7U6CWHXD.js → kernel-primitive-TKUACPKD.js} +6 -6
- package/chunks/{kernel-vm-runner-3JAU4O6J.js → kernel-vm-runner-RAAO2PGT.js} +6 -6
- package/chunks/memsafety-scan-FCPAXIZE.js +16 -0
- package/chunks/{native-loop-RJCJPOUS.js → native-loop-2ZRJENZ3.js} +17 -18
- package/chunks/{npm-detectors-KB5Y5ZFX.js → npm-detectors-Z2ZIQCN4.js} +6 -6
- package/chunks/npm-dynamic-discovery-5J7FT3XM.js +13 -0
- package/chunks/orchestrate-2GWGNTBF.js +58 -0
- package/chunks/{pre-recon-cve-66EB6G4M.js → pre-recon-cve-X2K2P5YQ.js} +4 -4
- package/chunks/prepare-KYHGFWCJ.js +13 -0
- package/chunks/process-N245QIQG.js +12 -0
- package/chunks/{run-D56MPDKY.js → run-U3XU4CTC.js} +11507 -13632
- package/chunks/{runtime-G7YWIO3B.js → runtime-G75TEWQY.js} +10 -11
- package/chunks/runtime-XFWJTBUO.js +12 -0
- package/chunks/{scan-stream-FHI2FYZE.js → scan-stream-BMOCPKQX.js} +7 -7
- package/chunks/scope-WXI46UHJ.js +21 -0
- package/chunks/{session-store-GZ4A4KYT.js → session-store-27L3ZU73.js} +6 -6
- package/chunks/source-files-REHOM44I.js +12 -0
- package/chunks/{specdrift-WCLH6TTQ.js → specdrift-AFS54WEJ.js} +5 -5
- package/chunks/token-KRWP5JYA.js +72 -0
- package/chunks/token-util-DWTL33S3.js +8 -0
- package/chunks/variant-candidates-YWZORZMK.js +13 -0
- package/chunks/{web-recon-prepass-JJGPEOLE.js → web-recon-prepass-YVMFXCIK.js} +9 -9
- 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-CMFVrXEe.css +2 -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 +4 -5
- 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 +20 -13
- package/vendor/tree-sitter-0.21.1-node24.json +16 -0
- package/vendor/tree-sitter-0.21.1-node24.tgz +0 -0
- package/chunks/adapt-loop-SMH6V4PD.js +0 -18
- package/chunks/appsec-catalog-CBWHGTEL.js +0 -24
- package/chunks/chunk-242TMK6G.js +0 -110
- package/chunks/chunk-57ZENEX2.js +0 -169
- package/chunks/chunk-ADOLI6DT.js +0 -102
- package/chunks/chunk-ATATQACO.js +0 -471
- package/chunks/chunk-C2WXWFBB.js +0 -1070
- package/chunks/chunk-F3WBKITT.js +0 -687
- package/chunks/chunk-H2FFLZNK.js +0 -3
- package/chunks/chunk-LP3HHYQU.js +0 -245
- package/chunks/chunk-QI233I24.js +0 -333
- package/chunks/chunk-RRMJC3ZE.js +0 -105
- package/chunks/chunk-Z5FA2XOX.js +0 -2798
- package/chunks/cost-ledger-NU63MYZM.js +0 -13
- package/chunks/db-KFWOAUUB.js +0 -16
- package/chunks/eval-runner-7ZF472KV.js +0 -27
- package/chunks/fix-IG7LYXH3.js +0 -12
- package/chunks/harness-7ODOLOWU.js +0 -22
- package/chunks/http-conformance-DU66MZIU.js +0 -11
- package/chunks/http-sender-GWH2IYEA.js +0 -10
- package/chunks/hunt-scan-MMKUOETU.js +0 -38
- package/chunks/memsafety-scan-J7SECV5W.js +0 -16
- package/chunks/npm-dynamic-discovery-AHROOZDB.js +0 -13
- package/chunks/orchestrate-OC2VZN2X.js +0 -62
- package/chunks/pipeline-BZK5BLJR.js +0 -14
- package/chunks/prepare-MYY743TK.js +0 -13
- package/chunks/process-LQRCS5OY.js +0 -13
- package/chunks/replay-runner-45G3VU7X.js +0 -39
- package/chunks/runtime-J7PLXZNM.js +0 -12
- package/chunks/scope-BI7BF4ZY.js +0 -18
- package/chunks/source-files-PWRQR6LY.js +0 -12
- package/chunks/variant-candidates-YERCYMPD.js +0 -13
- package/dashboard/assets/0sec-icon-66SreztZ.gif +0 -0
- 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-CXTQonNm.js +0 -32
- package/dashboard/assets/desktop-NOekk4QS.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-CACW9nw2.js +0 -5
- package/dashboard/assets/format-PoISqsES.js +0 -1
- package/dashboard/assets/jsx-runtime-C7oxC63R.js +0 -1
- package/dashboard/assets/live-page-DrgQqQK5.js +0 -1
- package/dashboard/assets/meta-tile-CcskIV_o.js +0 -1
- package/dashboard/assets/operations-BKE8T-vY.css +0 -2
- package/dashboard/assets/operations-D8nUP5_m.js +0 -4
- package/dashboard/assets/operations-app-CQQhG54n.js +0 -2
- package/dashboard/assets/overview-page-DTGS8dPo.js +0 -1
- package/dashboard/assets/page-header-MFVvEtZW.js +0 -1
- package/dashboard/assets/play-Dwo-9xt6.js +0 -1
- package/dashboard/assets/scans-page-ChVtq8Us.js +0 -1
- package/dashboard/assets/search-CiooTLck.js +0 -1
- package/dashboard/assets/siren-CCBwTSuk.js +0 -1
- package/dashboard/assets/table-BYS-nIVA.js +0 -1
- package/dashboard/assets/tabs-DivxbhQy.js +0 -1
- package/dashboard/desktop.html +0 -21
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{d as r,f as i,g as ee,h as te,m as ne,n as a,p as re,s as ie,t as ae,y as oe}from"./format-PoISqsES.js";import{t as se,y as o}from"./operations-D8nUP5_m.js";import{_ as s}from"./dist-CmX-h7a4.js";import{t as ce}from"./bot-yILPnRgD.js";import{t as c}from"./circle-alert-BEnMBMT-.js";import{a as le,i as l,r as u,t as d}from"./tabs-DivxbhQy.js";import{t as f}from"./play-Dwo-9xt6.js";import{t as ue}from"./siren-CCBwTSuk.js";import{a as p,c as m,f as h,i as g,l as de,n as _,o as v,r as y,s as b,t as x,u as S}from"./table-BYS-nIVA.js";import{t as fe}from"./page-header-MFVvEtZW.js";import{M as C,S as w,_ as T,c as E,g as D,h as O,j as pe,m as k,s as A,v as j,y as M}from"./operations-app-CQQhG54n.js";var me=s(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),N=s(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),he=s(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),P=s(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),ge=s(`workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),F=e(t(),1),I=n();function L({data:e}){let t=se(),[n,s]=(0,F.useState)(null),[l,u]=(0,F.useState)(``),[d,L]=(0,F.useState)(`deep`),[V,H]=(0,F.useState)(`default`),[U,W]=(0,F.useState)(`auto`),G=oe({queryKey:[`recent-events`],queryFn:()=>ie(12),refetchInterval:5e3}),_e=e.groups.filter(e=>e.workflow.reviewGate!==`none`),ve=e.groups.filter(e=>e.workflow.phase===`blocked`),ye=e.groups.filter(e=>e.workflow.phase===`in_progress`),be=e.groups.filter(e=>!e.workflow.assignee),xe=e.scans.filter(e=>e.status===`running`),K=e.workers.filter(e=>e.isActive&&e.status!==`stopped`),Se=e.workers.filter(e=>e.status===`stopped`),q=K.length>0,Ce=e.scans.length===0&&e.groups.length===0&&e.workers.length===0,J=async()=>{await Promise.all([t.invalidateQueries({queryKey:[`dashboard`]}),t.invalidateQueries({queryKey:[`scans`]}),t.invalidateQueries({queryKey:[`recent-events`]})])},we=C({mutationFn:()=>re(),onSuccess:async e=>{s(e.recovered>0?`Recovered ${e.recovered} stale work item${e.recovered===1?``:`s`}.`:`No stale worker claims needed recovery.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Te=C({mutationFn:()=>i(),onSuccess:async e=>{s(e.deleted>0?`Pruned ${e.deleted} stopped worker row${e.deleted===1?``:`s`}.`:`No stopped worker rows were left to prune.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Ee=C({mutationFn:()=>ne(`empty`),onSuccess:async e=>{s(`Reset local state at ${e.path}.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Y=C({mutationFn:()=>te({label:`control-plane-1`,pollIntervalMs:2e3}),onSuccess:async()=>{s(`Started local control-plane daemon.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),X=C({mutationFn:()=>ee(),onSuccess:async e=>{s(e.stopped>0?`Stopped ${e.stopped} local daemon process${e.stopped===1?``:`es`}.`:`No live local daemon process needed stopping.`),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Z=C({mutationFn:()=>r({target:l.trim(),depth:V,mode:d,runtime:U,ensureDaemon:!0}),onSuccess:async()=>{s(`Launched ${d} run for ${l.trim()}.`),u(``),await J()},onError:e=>{s(e instanceof Error?e.message:String(e))}}),Q=we.isPending||Te.isPending||Ee.isPending||Y.isPending||X.isPending||Z.isPending,De=[...e.groups].filter(e=>e.workflow.reviewGate!==`none`||e.workflow.phase===`blocked`||!e.workflow.assignee).sort((e,t)=>t.latest.timestamp-e.latest.timestamp).slice(0,8),Oe=[...e.groups].filter(e=>e.workflow.phase===`in_progress`||e.workflow.activeAgentRoles.length>0).sort((e,t)=>t.latest.timestamp-e.latest.timestamp).slice(0,8),ke=[...e.scans].sort((e,t)=>t.startedAt.localeCompare(e.startedAt)).slice(0,8),Ae=(0,F.useMemo)(()=>{let e=G.data?.events??[],t=new Map;for(let n of e){let e=n.payload??{},r=typeof e.summary==`string`&&e.summary.trim()?e.summary.trim():n.summary,i=[`stage_complete`,`agent_complete`,`runtime_incompatible`].includes(n.eventType)&&/max turns|did not emit required tool_call/i.test(r);if(![`agent_error`,`scan_error`,`worker_failed`].includes(n.eventType)&&!i||t.has(n.scanId))continue;let ee=typeof e.error==`string`&&e.error.trim()?e.error.trim():typeof e.summary==`string`&&e.summary.trim()?e.summary.trim():n.summary;t.set(n.scanId,{scanId:n.scanId,scanTarget:n.scanTarget,stage:n.stage,actor:n.agentRole??null,headline:ee,timestamp:n.timestamp})}return[...t.values()].slice(0,4)},[G.data?.events]),$=[...e.groups].sort((e,t)=>Number(new Date(t.workflow.updatedAt??t.latest.timestamp))-Number(new Date(e.workflow.updatedAt??e.latest.timestamp))).slice(0,8);return(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(fe,{eyebrow:`Control`,title:`Operations control`,summary:`Launch new targets, watch the autonomous queue, and jump to the findings or runs that actually need intervention.`,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(E,{asChild:!0,variant:`outline`,children:(0,I.jsx)(o,{to:`/runs`,children:`Open runs`})}),(0,I.jsx)(E,{asChild:!0,variant:`accent`,children:(0,I.jsx)(o,{to:`/findings`,children:`Open findings workspace`})})]})}),Ce?(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[1.15fr_0.85fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`First run`}),(0,I.jsx)(w,{className:`mt-2`,children:`Launch the first target`}),(0,I.jsx)(D,{children:`A finding family is the clustered underlying issue behind repeated observations across runs. Start a target, let the pipeline collect proof, then review only the families that survive automation.`})]})}),(0,I.jsxs)(O,{className:`space-y-5`,children:[(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.18em] text-muted-foreground`,children:`Target`}),(0,I.jsx)(A,{value:l,onChange:e=>u(e.target.value),placeholder:d===`mcp`?`mcp://assistant-endpoint`:d===`web`?`https://app.example.com`:`https://api.example.com`})]}),(0,I.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-3`,children:[(0,I.jsx)(B,{label:`Mode`,value:d,onValueChange:e=>L(e),options:[{value:`deep`,label:`API/URL`},{value:`web`,label:`Web app`},{value:`mcp`,label:`MCP`}]}),(0,I.jsx)(B,{label:`Depth`,value:V,onValueChange:e=>H(e),options:[{value:`quick`,label:`Quick`},{value:`default`,label:`Default`},{value:`deep`,label:`Deep`}]}),(0,I.jsx)(B,{label:`Runtime`,value:U,onValueChange:e=>W(e),options:[{value:`auto`,label:`Auto`},{value:`api`,label:`API`},{value:`codex`,label:`Codex`},{value:`claude`,label:`Claude`},{value:`gemini`,label:`Gemini`}]})]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,I.jsxs)(E,{variant:`accent`,onClick:()=>Z.mutate(),disabled:!l.trim()||Q,children:[(0,I.jsx)(f,{}),`Launch target`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>Y.mutate(),disabled:q||Q,children:[(0,I.jsx)(N,{}),`Start daemon`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>X.mutate(),disabled:!q||Q,children:[(0,I.jsx)(N,{}),`Stop daemon`]})]})]})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Execution model`}),(0,I.jsx)(w,{className:`mt-2`,children:`How the system works`}),(0,I.jsx)(D,{children:`This is not meant to be a human-driven kanban first. The control plane should run autonomously until a thread needs review, override, or more access.`})]})}),(0,I.jsxs)(O,{className:`space-y-3 text-sm text-muted-foreground`,children:[(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:"A `run` is one pipeline execution against a target."}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:"A `thread` is one underlying issue clustered across repeated hits or follow-up evidence."}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:"A `worker` is a local autonomous daemon claiming runnable stages from persisted state."}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-background px-4 py-3`,children:`Humans should mostly work the review inbox, blocked access, and final disposition.`})]})]})]}):null,Ce?null:(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[1.15fr_0.85fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Launch`}),(0,I.jsx)(w,{className:`mt-2`,children:`Control strip`}),(0,I.jsx)(D,{children:`Launch a new target, keep the daemon healthy, and clear local state without dropping to the CLI.`})]})}),(0,I.jsxs)(O,{className:`space-y-5`,children:[(0,I.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1.2fr)_repeat(3,minmax(0,0.8fr))]`,children:[(0,I.jsxs)(`label`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.18em] text-muted-foreground`,children:`Target`}),(0,I.jsx)(A,{value:l,onChange:e=>u(e.target.value),placeholder:d===`mcp`?`mcp://assistant-endpoint`:d===`web`?`https://app.example.com`:`https://api.example.com`})]}),(0,I.jsx)(B,{label:`Mode`,value:d,onValueChange:e=>L(e),options:[{value:`deep`,label:`API/URL`},{value:`web`,label:`Web app`},{value:`mcp`,label:`MCP`}]}),(0,I.jsx)(B,{label:`Depth`,value:V,onValueChange:e=>H(e),options:[{value:`quick`,label:`Quick`},{value:`default`,label:`Default`},{value:`deep`,label:`Deep`}]}),(0,I.jsx)(B,{label:`Runtime`,value:U,onValueChange:e=>W(e),options:[{value:`auto`,label:`Auto`},{value:`api`,label:`API`},{value:`codex`,label:`Codex`},{value:`claude`,label:`Claude`},{value:`gemini`,label:`Gemini`}]})]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,I.jsxs)(E,{variant:`accent`,onClick:()=>Z.mutate(),disabled:!l.trim()||Q,children:[(0,I.jsx)(f,{}),`Launch target`]}),(0,I.jsxs)(E,{variant:q?`outline`:`default`,onClick:()=>q?X.mutate():Y.mutate(),disabled:Q,children:[(0,I.jsx)(N,{}),q?`Stop daemon`:`Start daemon`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>we.mutate(),disabled:Q,children:[(0,I.jsx)(he,{}),`Recover stale`]}),(0,I.jsxs)(E,{variant:`outline`,onClick:()=>Te.mutate(),disabled:Q,children:[(0,I.jsx)(P,{}),`Prune stopped`]}),(0,I.jsxs)(E,{variant:`warning`,onClick:()=>Ee.mutate(),disabled:Q||q,children:[(0,I.jsx)(me,{}),`Reset local state`]})]}),(0,I.jsx)(`div`,{className:`rounded-md border border-border bg-muted/20 px-4 py-3 text-sm text-muted-foreground`,children:n??`The daemon can be started from here. Local state reset stays guarded while a live daemon is heartbeating.`})]})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Situation`}),(0,I.jsx)(w,{className:`mt-2`,children:`Live system state`}),(0,I.jsx)(D,{children:`Read the queue, worker fleet, and review backlog at a glance before drilling into findings or runs.`})]})}),(0,I.jsxs)(O,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,I.jsx)(R,{icon:ge,label:`Runnable now`,value:e.queue.runnable,hint:`Work items ready to claim.`}),(0,I.jsx)(R,{icon:pe,label:`Workers`,value:K.length,hint:`Live orchestration daemons.`}),(0,I.jsx)(R,{icon:c,label:`Review`,value:_e.length,hint:`Finding families waiting on sign-off.`}),(0,I.jsx)(R,{icon:ue,label:`Blocked`,value:ve.length,hint:`Finding families outside the happy path.`}),(0,I.jsx)(R,{icon:ce,label:`Running findings`,value:ye.length,hint:`Finding families with live worker activity.`}),(0,I.jsx)(R,{icon:le,label:`Unassigned`,value:be.length,hint:`Finding families without an owner.`}),(0,I.jsx)(R,{icon:f,label:`Active runs`,value:xe.length,hint:`Runs still executing.`}),(0,I.jsx)(R,{icon:P,label:`Stopped workers`,value:Se.length,hint:`Rows safe to prune.`})]})]})]}),(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[1.05fr_0.95fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsxs)(M,{children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Findings`}),(0,I.jsx)(w,{className:`mt-2`,children:`Decision queue`}),(0,I.jsx)(D,{children:`Finding families that most likely need a human decision next: blocked execution, review gates, or ownership gaps.`})]}),(0,I.jsx)(E,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,I.jsx)(o,{to:`/findings`,children:`Open findings`})})]}),(0,I.jsx)(O,{children:De.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No findings currently need intervention.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Finding`}),(0,I.jsx)(g,{children:`Ownership`}),(0,I.jsx)(g,{children:`Signal`}),(0,I.jsx)(g,{className:`w-[14rem]`,children:`State`})]})}),(0,I.jsx)(_,{children:De.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsx)(o,{to:`/findings/${e.fingerprint}`,className:`text-foreground hover:text-primary`,children:e.latest.title})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.workflow.assignee??`Unassigned`}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(S,{severity:e.latest.severity}),(0,I.jsx)(b,{value:e.workflow.consensus})]})}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(m,{value:e.workflow.phase}),e.workflow.reviewGate===`none`?null:(0,I.jsx)(de,{value:e.workflow.reviewGate}),(0,I.jsx)(h,{value:e.latest.triageStatus})]})})]},e.fingerprint))})]})})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Execution`}),(0,I.jsx)(w,{className:`mt-2`,children:`Queue and daemons`}),(0,I.jsx)(D,{children:`Use this column to understand what automation is doing right now and where the queue is getting stuck.`})]})}),(0,I.jsxs)(O,{className:`space-y-6`,children:[Oe.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No live worker activity right now.`}):(0,I.jsx)(`div`,{className:`space-y-3`,children:Oe.map(e=>(0,I.jsx)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(o,{to:`/findings/${e.fingerprint}`,className:`text-sm font-medium text-foreground hover:text-primary`,children:e.latest.title}),(0,I.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e.workflow.activeAgentRoles.length>0?e.workflow.activeAgentRoles.join(`, `):`Waiting for worker activity`})]}),(0,I.jsx)(m,{value:e.workflow.phase})]})},e.fingerprint))}),(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Autonomous queue`}),(0,I.jsx)(w,{className:`mt-2`,children:`Worker-ready state`}),(0,I.jsx)(D,{children:`Real queue health from persisted work items, not inferred status labels.`})]}),(0,I.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,I.jsx)(z,{label:`Runnable now`,value:e.queue.runnable,hint:`Dependencies satisfied and no sibling claim is active.`}),(0,I.jsx)(z,{label:`Active claims`,value:e.queue.active,hint:`Currently held by a running case worker.`}),(0,I.jsx)(z,{label:`Blocked by deps`,value:e.queue.blockedByDependency,hint:`Waiting on an earlier stage to complete first.`}),(0,I.jsx)(z,{label:`Manual review`,value:e.queue.manualReview,hint:`Queued for operator sign-off, not autonomous execution.`}),(0,I.jsx)(z,{label:`Recovered claims`,value:e.queue.recoveredClaims,hint:`Requeued after a stale worker heartbeat expired.`}),(0,I.jsx)(z,{label:`Stale workers`,value:e.queue.staleWorkers,hint:`Workers marked errored after heartbeat expiry.`})]})]}),(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Autonomous workers`}),(0,I.jsx)(w,{className:`mt-2`,children:`Daemon state`})]}),K.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No orchestration daemons are heartbeating right now.`}):(0,I.jsx)(`div`,{className:`space-y-3`,children:K.slice(0,4).map(e=>(0,I.jsx)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:e.label}),(0,I.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:[e.currentWorkItemTitle??e.currentWorkItemId??`Idle`,e.currentCaseTarget?` · ${e.currentCaseTarget}`:``,` · heartbeat ${a(e.heartbeatAt)}`]}),e.lastError?(0,I.jsx)(`div`,{className:`mt-1 text-xs text-destructive`,children:e.lastError}):null]}),(0,I.jsx)(h,{value:e.status})]})},e.id))})]})]})]})]}),(0,I.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-[0.95fr_1.05fr]`,children:[(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsxs)(M,{children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Runs`}),(0,I.jsx)(w,{className:`mt-2`,children:`Recent execution`}),(0,I.jsx)(D,{children:`Recent and still-running runs. Use this to jump into provenance without leaving operations.`})]}),(0,I.jsx)(E,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,I.jsx)(o,{to:`/runs`,children:`Open runs`})})]}),(0,I.jsx)(O,{children:ke.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No runs recorded yet.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Target`}),(0,I.jsx)(g,{children:`Started`}),(0,I.jsx)(g,{children:`Profile`}),(0,I.jsx)(g,{className:`w-[12rem]`,children:`State`})]})}),(0,I.jsx)(_,{children:ke.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsx)(o,{to:`/runs/${e.id}`,className:`text-foreground hover:text-primary`,children:e.target})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:a(e.startedAt)}),(0,I.jsxs)(y,{className:`text-muted-foreground`,children:[e.runtime,` · `,e.mode,` · `,e.depth]}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(h,{value:e.status}),(0,I.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:ae(e.durationMs)})]})})]},e.id))})]})})]}),(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsxs)(M,{children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Findings`}),(0,I.jsx)(w,{className:`mt-2`,children:`Latest movement`}),(0,I.jsx)(D,{children:`Most recent finding-family changes across automation, triage, and review.`})]}),(0,I.jsx)(E,{asChild:!0,variant:`ghost`,size:`sm`,children:(0,I.jsx)(o,{to:`/findings`,children:`Open findings`})})]}),(0,I.jsx)(O,{children:$.length===0?(0,I.jsx)(T,{className:`text-left`,children:`No findings recorded yet.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Finding`}),(0,I.jsx)(g,{children:`Updated`}),(0,I.jsx)(g,{children:`Coverage`}),(0,I.jsx)(g,{className:`w-[16rem]`,children:`State`})]})}),(0,I.jsx)(_,{children:$.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsx)(o,{to:`/findings/${e.fingerprint}`,className:`text-foreground hover:text-primary`,children:e.latest.title})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:a(e.workflow.updatedAt??e.latest.timestamp)}),(0,I.jsxs)(y,{className:`text-muted-foreground`,children:[e.count,` hits · `,e.scanCount,` scans`]}),(0,I.jsx)(y,{children:(0,I.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,I.jsx)(m,{value:e.workflow.phase}),e.workflow.reviewGate===`none`?null:(0,I.jsx)(de,{value:e.workflow.reviewGate}),(0,I.jsx)(S,{severity:e.latest.severity}),(0,I.jsx)(b,{value:e.workflow.consensus})]})})]},e.fingerprint))})]})})]})]}),Ae.length>0?(0,I.jsxs)(k,{className:`overflow-hidden border-destructive/20`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Incidents`}),(0,I.jsx)(w,{className:`mt-2`,children:`Runtime incidents`}),(0,I.jsx)(D,{children:`Provider failures, worker crashes, and stalled agent executions that need operator attention.`})]})}),(0,I.jsx)(O,{className:`space-y-3`,children:Ae.map(e=>(0,I.jsx)(`div`,{className:`rounded-md border border-destructive/20 bg-destructive/5 px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(o,{to:`/runs/${e.scanId}`,className:`text-sm font-medium text-foreground hover:text-primary`,children:e.scanTarget}),(0,I.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:e.headline}),(0,I.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[(0,I.jsx)(S,{severity:`high`}),(0,I.jsx)(`span`,{children:e.stage}),e.actor?(0,I.jsx)(`span`,{children:e.actor}):null,(0,I.jsx)(`span`,{children:a(e.timestamp)})]})]}),(0,I.jsx)(c,{className:`mt-0.5 size-5 shrink-0 text-destructive`})]})},`${e.scanId}:${e.timestamp}`))})]}):null,(0,I.jsxs)(k,{className:`overflow-hidden`,children:[(0,I.jsx)(M,{children:(0,I.jsxs)(`div`,{children:[(0,I.jsx)(j,{children:`Events`}),(0,I.jsx)(w,{className:`mt-2`,children:`Recent pipeline activity`}),(0,I.jsx)(D,{children:`Live audit events across runs, useful for seeing where the system is actually spending time.`})]})}),(0,I.jsx)(O,{children:G.isLoading?(0,I.jsx)(T,{children:`Loading recent events...`}):G.error?(0,I.jsx)(T,{children:G.error instanceof Error?G.error.message:`Failed to load recent events.`}):(G.data?.events.length??0)===0?(0,I.jsx)(T,{children:`No pipeline events recorded yet.`}):(0,I.jsxs)(x,{children:[(0,I.jsx)(p,{children:(0,I.jsxs)(v,{className:`hover:bg-transparent`,children:[(0,I.jsx)(g,{children:`Target`}),(0,I.jsx)(g,{children:`Summary`}),(0,I.jsx)(g,{children:`Stage`}),(0,I.jsx)(g,{children:`Event`}),(0,I.jsx)(g,{children:`Actor`}),(0,I.jsx)(g,{className:`w-[12rem]`,children:`Time`})]})}),(0,I.jsx)(_,{children:G.data?.events.map(e=>(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{className:`font-medium`,children:(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsx)(o,{to:`/runs/${e.scanId}`,className:`text-foreground hover:text-primary`,children:e.scanTarget}),e.findingFingerprint?(0,I.jsx)(`div`,{children:(0,I.jsx)(o,{to:`/findings/${e.findingFingerprint}`,className:`text-xs text-muted-foreground hover:text-primary`,children:`Open finding`})}):null]})}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.summary}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.stage}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.eventType}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:e.agentRole??`system`}),(0,I.jsx)(y,{className:`text-muted-foreground`,children:a(e.timestamp)})]},e.id))})]})})]})]})}function R({icon:e,label:t,value:n,hint:r}){return(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:[(0,I.jsx)(e,{className:`size-3.5`}),t]}),(0,I.jsx)(`div`,{className:`mt-2 text-2xl font-semibold text-foreground`,children:n}),(0,I.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:r})]})}function z({label:e,value:t,hint:n}){return(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-background px-4 py-3`,children:[(0,I.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground/70`,children:e}),(0,I.jsx)(`div`,{className:`mt-2 text-2xl font-semibold text-foreground`,children:t}),(0,I.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:n})]})}function B({label:e,value:t,onValueChange:n,options:r}){return(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.18em] text-muted-foreground`,children:e}),(0,I.jsx)(d,{value:t,onValueChange:n,children:(0,I.jsx)(u,{className:`w-full flex-wrap justify-start`,children:r.map(e=>(0,I.jsx)(l,{value:e.value,className:`flex-1`,children:e.label},e.value))})})]})}export{L as OverviewPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-C7oxC63R.js";import{C as t}from"./operations-app-CQQhG54n.js";var n=e();function r({eyebrow:e,title:r,summary:i,actions:a,className:o}){return(0,n.jsxs)(`header`,{className:t(`flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between`,o),children:[(0,n.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,n.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.24em] text-muted-foreground`,children:e}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`h1`,{className:`text-[2rem] font-bold tracking-tight text-foreground`,children:r}),(0,n.jsx)(`p`,{className:`mt-1.5 max-w-3xl text-sm leading-6 text-muted-foreground`,children:i})]})]}),a?(0,n.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:a}):null]})}export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./dist-CmX-h7a4.js";var t=e(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{c as r,l as i,n as a,r as o,t as s,y as c}from"./format-PoISqsES.js";import{T as l,w as u,y as d}from"./operations-D8nUP5_m.js";import{_ as f,g as p}from"./dist-CmX-h7a4.js";import{t as m}from"./bot-yILPnRgD.js";import{t as h}from"./circle-alert-BEnMBMT-.js";import{t as g}from"./search-CiooTLck.js";import{t as _}from"./siren-CCBwTSuk.js";import{a as v,c as y,f as b,i as x,l as S,n as C,o as w,r as T,s as E,t as D,u as O}from"./table-BYS-nIVA.js";import{n as k,t as A}from"./meta-tile-CcskIV_o.js";import{C as j,S as M,_ as N,b as P,c as ee,d as te,f as F,g as I,h as L,j as R,k as ne,l as z,m as B,p as V,s as re,t as ie,u as H,v as U,x as W,y as G}from"./operations-app-CQQhG54n.js";var K=f(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),q=f(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),J=e(t(),1),Y=n();function ae({title:e,description:t,searchValue:n,onSearchChange:r,searchPlaceholder:i,children:a}){return(0,Y.jsxs)(B,{className:`flex min-h-[36rem] flex-col overflow-hidden`,children:[(0,Y.jsxs)(G,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Queue`}),(0,Y.jsx)(M,{className:`mt-2`,children:e}),(0,Y.jsx)(I,{children:t})]}),(0,Y.jsxs)(`label`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(g,{className:`size-4 text-muted-foreground`}),(0,Y.jsx)(re,{value:n,onChange:e=>r(e.target.value),placeholder:i,className:`h-9`})]})]}),(0,Y.jsx)(L,{className:`flex min-h-0 flex-1 flex-col pt-3`,children:(0,Y.jsx)(ie,{className:`min-h-0 flex-1`,children:(0,Y.jsx)(P,{children:a})})})]})}function X({title:e,description:t,meta:n,badges:r,selected:i=!1}){return(0,Y.jsx)(W,{interactive:!0,selected:i,children:(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-semibold leading-5 text-foreground`,children:e}),(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:t}),n?(0,Y.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:n}):null]}),r?(0,Y.jsx)(`div`,{className:`flex max-w-[12rem] flex-wrap justify-end gap-2`,children:r}):null]})})}function oe({events:e}){return(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Activity`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Timeline`})]})}),(0,Y.jsx)(L,{className:`space-y-4`,children:e.length===0?(0,Y.jsx)(N,{children:`No pipeline events recorded.`}):(0,Y.jsxs)(D,{children:[(0,Y.jsx)(v,{children:(0,Y.jsxs)(w,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(x,{children:`Event`}),(0,Y.jsx)(x,{children:`Summary`}),(0,Y.jsx)(x,{className:`w-[10rem]`,children:`Time`}),(0,Y.jsx)(x,{className:`w-[14rem]`,children:`Payload`})]})}),(0,Y.jsx)(C,{children:e.map(e=>{let t=se(e.stage,e.eventType);return(0,Y.jsxs)(w,{children:[(0,Y.jsx)(T,{children:(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(`div`,{className:`mt-0.5 inline-flex size-8 items-center justify-center rounded-md border border-border bg-muted text-primary`,children:(0,Y.jsx)(t,{className:`size-4`})}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`font-medium text-foreground`,children:[e.stage,` · `,e.eventType]}),e.agentRole?(0,Y.jsx)(b,{value:e.agentRole}):null]})]})}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`div`,{children:o(e.payload)}),e.findingId?(0,Y.jsxs)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:[`finding `,e.findingId.slice(0,8)]}):null]})}),(0,Y.jsx)(T,{className:`text-xs text-muted-foreground`,children:a(e.timestamp)}),(0,Y.jsx)(T,{children:e.payload?(0,Y.jsxs)(`details`,{className:`rounded-md border border-border bg-muted/50 p-2 text-sm text-muted-foreground`,children:[(0,Y.jsx)(`summary`,{className:`cursor-pointer list-none font-medium text-foreground`,children:`View raw`}),(0,Y.jsx)(`pre`,{className:`mt-3 text-xs text-muted-foreground`,children:JSON.stringify(e.payload,null,2)})]}):(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No payload`})})]},e.id)})})]})})]})}function se(e,t){let n=`${e}:${t}`.toLowerCase();return n.includes(`attack`)?p:n.includes(`agent`)?m:n.includes(`verify`)?K:n.includes(`finding`)?h:n.includes(`scan`)?ne:n.includes(`analysis`)?q:R}function Z({icon:e,label:t,value:n,hint:r,tone:i=`neutral`}){return(0,Y.jsx)(B,{className:`overflow-hidden`,children:(0,Y.jsxs)(L,{className:`space-y-4 p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-[0.2em] text-muted-foreground`,children:t}),(0,Y.jsx)(`div`,{className:j(`inline-flex size-9 items-center justify-center rounded-md border border-border bg-muted text-muted-foreground`,i===`danger`&&`border-destructive/20 bg-destructive/10 text-destructive`,i===`warning`&&`border-amber-500/20 bg-amber-500/10 text-amber-300`,i===`success`&&`border-emerald-500/20 bg-emerald-500/10 text-emerald-300`,i===`accent`&&`border-primary/20 bg-primary/12 text-primary`),children:(0,Y.jsx)(e,{className:`size-5`})})]}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`div`,{className:`text-3xl font-bold tracking-tight text-foreground`,children:n}),(0,Y.jsx)(`div`,{className:`text-xs leading-5 text-muted-foreground`,children:r})]})]})})}function Q({children:e,className:t}){return(0,Y.jsx)(`section`,{className:j(`grid gap-4 xl:grid-cols-[22rem_minmax(0,1fr)_20rem]`,t),children:e})}function ce({children:e,className:t}){return(0,Y.jsx)(`div`,{className:j(`min-w-0 min-h-0`,t),children:e})}function $({children:e,className:t,span:n=!1}){return(0,Y.jsx)(`div`,{className:j(`min-w-0 min-h-0`,n&&`xl:col-span-2`,t),children:e})}function le({scans:e}){let{scanId:t}=l(),n=u(),[o,s]=(0,J.useState)(``),f=(0,J.useDeferredValue)(o),p=(0,J.useMemo)(()=>{let t=new Map;for(let n of e){let e=t.get(n.target)??[];e.push(n),t.set(n.target,e)}return[...t.entries()].map(([e,t])=>{let n=[...t].sort((e,t)=>t.startedAt.localeCompare(e.startedAt));return{target:e,scans:n,latestScan:n[0],activeRunCount:n.filter(e=>e.status===`running`).length,totalFindings:n.reduce((e,t)=>e+t.summary.totalFindings,0)}}).sort((e,t)=>t.latestScan.startedAt.localeCompare(e.latestScan.startedAt))},[e]),m=(0,J.useMemo)(()=>{let e=f.trim().toLowerCase();return e?p.filter(t=>[t.target,...t.scans.flatMap(e=>[e.depth,e.runtime,e.mode,e.status,e.id])].join(` `).toLowerCase().includes(e)):p},[f,p]),h=(0,J.useMemo)(()=>e.find(e=>e.id===t)??m[0]?.latestScan??null,[m,t,e]),g=h?.id??null,_=(0,J.useMemo)(()=>h?p.find(e=>e.target===h.target)??null:null,[p,h]);(0,J.useEffect)(()=>{!t&&g&&n(`/runs/${g}`,{replace:!0})},[n,t,g]);let v=c({queryKey:[`scan-events`,g],queryFn:()=>r(g),enabled:!!g}),y=c({queryKey:[`scan-findings`,g],queryFn:()=>i(g),enabled:!!g});return(0,Y.jsx)(`div`,{className:`space-y-6`,children:(0,Y.jsxs)(Q,{className:`xl:grid-cols-[22rem_minmax(0,1fr)]`,children:[(0,Y.jsx)(ce,{children:(0,Y.jsx)(ae,{title:`${p.length} targets`,description:`Search by target, runtime, mode, depth, status, or run id.`,searchValue:o,onSearchChange:s,searchPlaceholder:`Filter targets and runs`,children:m.length===0?(0,Y.jsx)(N,{className:`py-8`,children:`No targets match the current filter.`}):m.map(e=>(0,Y.jsx)(d,{to:`/runs/${e.latestScan.id}`,children:({isActive:t})=>(0,Y.jsx)(X,{selected:t,title:e.target,description:`${e.scans.length} runs · latest ${e.latestScan.runtime} · ${e.latestScan.mode}`,meta:a(e.latestScan.startedAt),badges:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(b,{value:e.latestScan.status}),e.activeRunCount>0?(0,Y.jsxs)(V,{variant:`accent`,children:[e.activeRunCount,` active`]}):null,(0,Y.jsxs)(V,{children:[e.totalFindings,` findings`]})]})})},e.target))})}),g?v.isLoading||y.isLoading?(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(te,{label:`Scan detail`})}):v.error?(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(H,{error:v.error})}):y.error?(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(H,{error:y.error})}):v.data&&y.data?(0,Y.jsx)(ue,{events:v.data,findings:y.data,targetRuns:_?.scans??[]}):(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(z,{title:`Scan unavailable`,body:`The selected run could not be loaded from the local database.`})}):(0,Y.jsx)($,{span:!0,children:(0,Y.jsx)(z,{title:`No scan selected`,body:`Choose a run from the run history to inspect details.`})})]})})}function ue({events:e,findings:t,targetRuns:n}){let r=e.scan,i=u(),{openPanel:o,clearPanel:c}=F(),l=(0,J.useMemo)(()=>n.filter(e=>e.id!==r.id),[r.id,n]),f=(0,J.useMemo)(()=>n.filter(e=>e.status===`running`).length,[n]),p=(0,J.useMemo)(()=>de(e.events),[e.events]),m=(0,J.useMemo)(()=>(0,Y.jsxs)(`div`,{className:`space-y-4 p-6`,children:[(0,Y.jsx)(k,{eyebrow:`Target`,title:`Target dossier`,description:`Shared context for the selected run across the full target history.`,children:(0,Y.jsxs)(P,{children:[(0,Y.jsx)(A,{label:`Target`,value:r.target}),(0,Y.jsx)(A,{label:`Runs on target`,value:String(n.length)}),(0,Y.jsx)(A,{label:`Running now`,value:String(f)}),(0,Y.jsx)(A,{label:`Scan id`,value:r.id,mono:!0}),(0,Y.jsx)(A,{label:`Started`,value:a(r.startedAt)}),(0,Y.jsx)(A,{label:`Completed`,value:r.completedAt?a(r.completedAt):`In progress`}),(0,Y.jsx)(A,{label:`Mode`,value:`${r.mode} / ${r.depth}`}),(0,Y.jsx)(A,{label:`Runtime`,value:r.runtime})]})}),(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Target history`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Recent passes`}),(0,Y.jsx)(I,{children:`Open another run on the same target without leaving the current dossier.`})]})}),(0,Y.jsx)(L,{className:`px-0 pb-0`,children:l.length===0?(0,Y.jsx)(`div`,{className:`px-6 pb-6`,children:(0,Y.jsx)(N,{children:`No other runs for this target yet.`})}):(0,Y.jsx)(P,{children:l.slice(0,5).map(e=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>i(`/runs/${e.id}`),className:`w-full text-left`,children:(0,Y.jsx)(X,{title:a(e.startedAt),description:`${e.runtime} · ${e.mode} · ${e.depth}`,meta:e.id.slice(0,8),badges:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(b,{value:e.status}),(0,Y.jsx)(V,{children:e.summary.totalFindings})]})})},e.id))})})]})]}),[f,i,l,r.completedAt,r.depth,r.id,r.mode,r.runtime,r.startedAt,r.target,n.length]);(0,J.useEffect)(()=>(c(),()=>c()),[c,r.id]);let g=(0,J.useCallback)(()=>{o({title:`${r.target} target dossier`,description:`Shared context for the selected run across the full target history.`,content:m})},[o,m,r.target]);return(0,Y.jsx)($,{span:!0,className:`space-y-4`,children:(0,Y.jsxs)(k,{eyebrow:`Run dossier`,title:r.target,description:`Started ${a(r.startedAt)} · ${r.runtime} runtime · ${r.mode} mode · ${n.length} total runs on this target`,actions:(0,Y.jsx)(ee,{variant:`outline`,size:`sm`,onClick:g,children:`Open target dossier`}),children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(b,{value:r.status}),(0,Y.jsx)(V,{children:r.depth}),(0,Y.jsx)(V,{children:r.runtime}),(0,Y.jsx)(V,{children:r.mode})]}),p?(0,Y.jsx)(B,{className:`border-destructive/25 bg-destructive/5`,children:(0,Y.jsx)(L,{className:`space-y-3 p-4`,children:(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Y.jsx)(h,{className:`mt-0.5 size-5 text-destructive`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`Execution incident`}),(0,Y.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-muted-foreground`,children:p.headline}),(0,Y.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[(0,Y.jsx)(V,{variant:`outline`,children:p.stage}),p.actor?(0,Y.jsx)(V,{variant:`outline`,children:p.actor}):null,(0,Y.jsx)(`span`,{children:a(p.timestamp)})]})]})]})})}):null,(0,Y.jsxs)(`section`,{className:`grid gap-4 lg:grid-cols-2 2xl:grid-cols-4`,children:[(0,Y.jsx)(Z,{icon:R,label:`Findings`,value:r.summary.totalFindings,hint:`Grouped and raw findings`,tone:`accent`}),(0,Y.jsx)(Z,{icon:_,label:`Critical`,value:r.summary.critical,hint:`Critical-severity findings`,tone:`danger`}),(0,Y.jsx)(Z,{icon:h,label:`High`,value:r.summary.high,hint:`High-severity findings`,tone:`warning`}),(0,Y.jsx)(Z,{icon:q,label:`Duration`,value:s(r.durationMs),hint:`Elapsed runtime`,tone:`success`})]}),(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Run output`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Finding families in this run`}),(0,Y.jsx)(I,{children:`Deduplicated finding families produced by the selected run.`})]})}),(0,Y.jsx)(L,{children:t.groups.length===0?(0,Y.jsx)(N,{children:`No finding families recorded for this run.`}):(0,Y.jsxs)(D,{children:[(0,Y.jsx)(v,{children:(0,Y.jsxs)(w,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(x,{children:`Finding`}),(0,Y.jsx)(x,{children:`Category`}),(0,Y.jsx)(x,{children:`Count`}),(0,Y.jsx)(x,{className:`w-[12rem]`,children:`Posture`})]})}),(0,Y.jsx)(C,{children:t.groups.map(e=>(0,Y.jsxs)(w,{children:[(0,Y.jsx)(T,{className:`font-medium text-foreground`,children:e.latest.title}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.latest.category}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.count}),(0,Y.jsx)(T,{children:(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(O,{severity:e.latest.severity}),(0,Y.jsx)(y,{value:e.workflow.phase}),e.workflow.reviewGate===`none`?null:(0,Y.jsx)(S,{value:e.workflow.reviewGate}),(0,Y.jsx)(b,{value:e.latest.triageStatus}),(0,Y.jsx)(E,{value:e.workflow.consensus})]})})]},e.fingerprint))})]})})]}),(0,Y.jsxs)(B,{className:`overflow-hidden`,children:[(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(U,{children:`Target provenance`}),(0,Y.jsx)(M,{className:`mt-2`,children:`Other runs on this target`}),(0,Y.jsx)(I,{children:`Use neighboring runs to understand whether this run is the first hit, a regression, or another pass over the same surface.`})]})}),(0,Y.jsx)(L,{children:n.length<=1?(0,Y.jsx)(N,{children:`No adjacent runs recorded for this target yet.`}):(0,Y.jsxs)(D,{children:[(0,Y.jsx)(v,{children:(0,Y.jsxs)(w,{className:`hover:bg-transparent`,children:[(0,Y.jsx)(x,{children:`Started`}),(0,Y.jsx)(x,{children:`Mode`}),(0,Y.jsx)(x,{children:`Runtime`}),(0,Y.jsx)(x,{children:`Findings`}),(0,Y.jsx)(x,{className:`w-[10rem]`,children:`Status`})]})}),(0,Y.jsx)(C,{children:n.slice(0,6).map(e=>(0,Y.jsxs)(w,{children:[(0,Y.jsx)(T,{className:`font-medium`,children:(0,Y.jsx)(d,{to:`/runs/${e.id}`,className:`text-foreground hover:text-primary`,children:a(e.startedAt)})}),(0,Y.jsxs)(T,{className:`text-muted-foreground`,children:[e.mode,` · `,e.depth]}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.runtime}),(0,Y.jsx)(T,{className:`text-muted-foreground`,children:e.summary.totalFindings}),(0,Y.jsx)(T,{children:(0,Y.jsx)(b,{value:e.status})})]},e.id))})]})})]}),(0,Y.jsx)(oe,{events:e.events})]})})}function de(e){let t=e=>{let t=e.payload??{},n=typeof t.summary==`string`&&t.summary.trim()?t.summary.trim():e.eventType;return/max turns|did not emit required tool_call/i.test(n)},n=[...e].reverse().find(e=>[`agent_error`,`scan_error`,`worker_failed`].includes(e.eventType)||(e.eventType===`stage_complete`||e.eventType===`agent_complete`)&&t(e));if(!n)return null;let r=n.payload??{},i=typeof r.error==`string`&&r.error.trim()?r.error.trim():typeof r.summary==`string`&&r.summary.trim()?r.summary.trim():`${n.stage} ${n.eventType}`.replaceAll(`_`,` `);return{stage:n.stage,actor:n.agentRole??null,headline:i,timestamp:n.timestamp}}export{le as ScansPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./dist-CmX-h7a4.js";var t=e(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./dist-CmX-h7a4.js";var t=e(`siren`,[[`path`,{d:`M7 18v-6a5 5 0 1 1 10 0v6`,key:`pcx96s`}],[`path`,{d:`M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z`,key:`1b4s83`}],[`path`,{d:`M21 12h1`,key:`jtio3y`}],[`path`,{d:`M18.5 4.5 18 5`,key:`g5sp9y`}],[`path`,{d:`M2 12h1`,key:`1uaihz`}],[`path`,{d:`M12 2v1`,key:`11qlp1`}],[`path`,{d:`m4.929 4.929.707.707`,key:`1i51kw`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./jsx-runtime-C7oxC63R.js";import{C as n,p as r}from"./operations-app-CQQhG54n.js";var i=t();function a(e){return e.replaceAll(`_`,` `)}function o({severity:e}){let t=e.toLowerCase();return(0,i.jsx)(r,{variant:t===`critical`||t===`high`?`danger`:t===`medium`?`warning`:t===`low`?`info`:`neutral`,children:e})}function s({value:e}){let t=e.toLowerCase();return(0,i.jsx)(r,{variant:t===`accepted`||t===`complete`||t===`completed`?`success`:t===`suppressed`?`warning`:t===`running`||t===`claiming`?`accent`:t===`failed`||t===`critical`||t===`error`?`danger`:t===`sleeping`?`warning`:`neutral`,children:e})}function c({value:e}){return(0,i.jsx)(r,{variant:e===`done`?`success`:e===`cancelled`||e===`blocked`?`danger`:e===`human_review`?`warning`:e===`agent_review`||e===`in_progress`?`accent`:`neutral`,children:a(e)})}function l({value:e}){return(0,i.jsx)(r,{variant:e===`done`?`success`:e===`cancelled`||e===`blocked`?`danger`:e===`in_progress`?`accent`:`neutral`,children:a(e)})}function u({value:e}){return e===`none`?(0,i.jsx)(r,{variant:`neutral`,children:`no review gate`}):(0,i.jsx)(r,{variant:e===`human_review`?`warning`:`accent`,children:a(e)})}function d({value:e}){return(0,i.jsx)(r,{variant:e===`verified`?`success`:e===`false-positive`?`danger`:e===`disputed`?`warning`:`neutral`,children:e.replaceAll(`-`,` `)})}function f({value:e}){return(0,i.jsxs)(r,{variant:e===`strong`?`success`:e===`medium`?`warning`:`neutral`,children:[e,` signal`]})}e();function p({className:e,...t}){return(0,i.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,i.jsx)(`table`,{"data-slot":`table`,className:n(`w-full caption-bottom text-sm`,e),...t})})}function m({className:e,...t}){return(0,i.jsx)(`thead`,{"data-slot":`table-header`,className:n(`[&_tr]:border-b`,e),...t})}function h({className:e,...t}){return(0,i.jsx)(`tbody`,{"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function g({className:e,...t}){return(0,i.jsx)(`tr`,{"data-slot":`table-row`,className:n(`border-b transition-colors hover:bg-primary/5 has-aria-expanded:bg-primary/5 data-[state=selected]:bg-primary/8`,e),...t})}function _({className:e,...t}){return(0,i.jsx)(`th`,{"data-slot":`table-head`,className:n(`h-12 px-3 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0`,e),...t})}function v({className:e,...t}){return(0,i.jsx)(`td`,{"data-slot":`table-cell`,className:n(`p-3 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,e),...t})}export{m as a,l as c,f as d,s as f,_ as i,u as l,h as n,g as o,c as p,v as r,d as s,p as t,o as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-C7oxC63R.js";import{i as r}from"./format-PoISqsES.js";import{_ as i,a,c as o,f as s,h as c,i as l,l as u,m as d,r as f,s as p}from"./dist-CmX-h7a4.js";import{C as m,w as h}from"./operations-app-CQQhG54n.js";var g=i(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),_=e(t(),1),v=n();function y(e){let t=e+`CollectionProvider`,[n,r]=s(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=_.useRef(null),a=_.useRef(new Map).current;return(0,v.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let c=e+`CollectionSlot`,l=p(c),u=_.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=a(c,n),o=d(t,i.collectionRef);return(0,v.jsx)(l,{ref:o,children:r})});u.displayName=c;let f=e+`CollectionItemSlot`,m=`data-radix-collection-item`,h=p(f),g=_.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=_.useRef(null),s=d(t,o),c=a(f,n);return _.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,v.jsx)(h,{[m]:``,ref:s,children:r})});g.displayName=f;function y(t){let n=a(e+`CollectionConsumer`,t);return _.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:u,ItemSlot:g},y,r]}var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S=`RovingFocusGroup`,[C,w,T]=y(S),[E,D]=s(S,[T]),[O,k]=E(S),A=_.forwardRef((e,t)=>(0,v.jsx)(C.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(C.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(j,{...e,ref:t})})}));A.displayName=S;var j=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:i,loop:s=!1,dir:u,currentTabStopId:f,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:m,onEntryFocus:h,preventScrollOnEntryFocus:g=!1,...y}=e,C=_.useRef(null),T=d(t,C),E=r(u),[D,k]=o({prop:f,defaultProp:p??null,onChange:m,caller:S}),[A,j]=_.useState(!1),M=l(h),N=w(n),P=_.useRef(!1),[F,I]=_.useState(0);return _.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(b,M),()=>e.removeEventListener(b,M)},[M]),(0,v.jsx)(O,{scope:n,orientation:i,dir:E,loop:s,currentTabStopId:D,onItemFocus:_.useCallback(e=>k(e),[k]),onItemShiftTab:_.useCallback(()=>j(!0),[]),onFocusableItemAdd:_.useCallback(()=>I(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>I(e=>e-1),[]),children:(0,v.jsx)(a.div,{tabIndex:A||F===0?-1:0,"data-orientation":i,...y,ref:T,style:{outline:`none`,...e.style},onMouseDown:c(e.onMouseDown,()=>{P.current=!0}),onFocus:c(e.onFocus,e=>{let t=!P.current;if(e.target===e.currentTarget&&t&&!A){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=N().filter(e=>e.focusable);L([e.find(e=>e.active),e.find(e=>e.id===D),...e].filter(Boolean).map(e=>e.ref.current),g)}}P.current=!1}),onBlur:c(e.onBlur,()=>j(!1))})})}),M=`RovingFocusGroupItem`,N=_.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:o,children:s,...l}=e,d=u(),f=o||d,p=k(M,n),m=p.currentTabStopId===f,h=w(n),{onFocusableItemAdd:g,onFocusableItemRemove:y,currentTabStopId:b}=p;return _.useEffect(()=>{if(r)return g(),()=>y()},[r,g,y]),(0,v.jsx)(C.ItemSlot,{scope:n,id:f,focusable:r,active:i,children:(0,v.jsx)(a.span,{tabIndex:m?0:-1,"data-orientation":p.orientation,...l,ref:t,onMouseDown:c(e.onMouseDown,e=>{r?p.onItemFocus(f):e.preventDefault()}),onFocus:c(e.onFocus,()=>p.onItemFocus(f)),onKeyDown:c(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){p.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=I(e,p.orientation,p.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=h().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=p.loop?R(n,r+1):n.slice(r+1)}setTimeout(()=>L(n))}}),children:typeof s==`function`?s({isCurrentTabStop:m,hasTabStop:b!=null}):s})})});N.displayName=M;var P={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function F(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function I(e,t,n){let r=F(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return P[r]}function L(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function R(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ee=A,te=N,z=`Tabs`,[B,ne]=s(z,[D]),V=D(),[H,U]=B(z),W=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:i,onValueChange:s,defaultValue:c,orientation:l=`horizontal`,dir:d,activationMode:f=`automatic`,...p}=e,m=r(d),[h,g]=o({prop:i,onChange:s,defaultProp:c??``,caller:z});return(0,v.jsx)(H,{scope:n,baseId:u(),value:h,onValueChange:g,orientation:l,dir:m,activationMode:f,children:(0,v.jsx)(a.div,{dir:m,"data-orientation":l,...p,ref:t})})});W.displayName=z;var G=`TabsList`,K=_.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,o=U(G,n),s=V(n);return(0,v.jsx)(ee,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:r,children:(0,v.jsx)(a.div,{role:`tablist`,"aria-orientation":o.orientation,...i,ref:t})})});K.displayName=G;var q=`TabsTrigger`,J=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...o}=e,s=U(q,n),l=V(n),u=Z(s.baseId,r),d=Q(s.baseId,r),f=r===s.value;return(0,v.jsx)(te,{asChild:!0,...l,focusable:!i,active:f,children:(0,v.jsx)(a.button,{type:`button`,role:`tab`,"aria-selected":f,"aria-controls":d,"data-state":f?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:u,...o,ref:t,onMouseDown:c(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?s.onValueChange(r):e.preventDefault()}),onKeyDown:c(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&s.onValueChange(r)}),onFocus:c(e.onFocus,()=>{let e=s.activationMode!==`manual`;!f&&!i&&e&&s.onValueChange(r)})})})});J.displayName=q;var Y=`TabsContent`,X=_.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:o,...s}=e,c=U(Y,n),l=Z(c.baseId,r),u=Q(c.baseId,r),d=r===c.value,p=_.useRef(d);return _.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,v.jsx)(f,{present:i||d,children:({present:n})=>(0,v.jsx)(a.div,{"data-state":d?`active`:`inactive`,"data-orientation":c.orientation,role:`tabpanel`,"aria-labelledby":l,hidden:!n,id:u,tabIndex:0,...s,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&o})})});X.displayName=Y;function Z(e,t){return`${e}-trigger-${t}`}function Q(e,t){return`${e}-content-${t}`}var re=W,$=K,ie=J,ae=X;function oe({className:e,orientation:t=`horizontal`,...n}){return(0,v.jsx)(re,{"data-slot":`tabs`,"data-orientation":t,className:m(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var se=h(`group/tabs-list inline-flex w-fit items-center justify-center rounded-md border border-border bg-muted/40 p-1 text-muted-foreground group-data-horizontal/tabs:h-9 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col group-data-vertical/tabs:rounded-lg data-[variant=line]:rounded-none data-[variant=line]:border-0 data-[variant=line]:bg-transparent data-[variant=line]:p-0`,{variants:{variant:{default:``,line:`gap-1`}},defaultVariants:{variant:`default`}});function ce({className:e,variant:t=`default`,...n}){return(0,v.jsx)($,{"data-slot":`tabs-list`,"data-variant":t,className:m(se({variant:t}),e),...n})}function le({className:e,...t}){return(0,v.jsx)(ie,{"data-slot":`tabs-trigger`,className:m(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-2 rounded-md border border-transparent px-3 py-1 text-sm font-medium whitespace-nowrap text-foreground/70 transition-[background-color,border-color,color] group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-vertical/tabs:rounded-md group-data-vertical/tabs:px-3 group-data-vertical/tabs:py-1.5 hover:text-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:px-2 group-data-[variant=line]/tabs-list:py-2 group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:border-border data-active:bg-background data-active:text-foreground dark:data-active:bg-card`,`after:absolute after:bg-primary after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function ue({className:e,...t}){return(0,v.jsx)(ae,{"data-slot":`tabs-content`,className:m(`flex-1 text-sm outline-none`,e),...t})}export{g as a,le as i,ue as n,ce as r,oe as t};
|
package/dashboard/desktop.html
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<meta name="color-scheme" content="light dark" />
|
|
7
|
-
<title>0sec</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/desktop-CXTQonNm.js"></script>
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-C7oxC63R.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/client-DRYsuOGl.js">
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-CmX-h7a4.js">
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/chevron-down-BeDJ-Vka.js">
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/circle-alert-BEnMBMT-.js">
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/copy-Bi5vzoF9.js">
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-DAwYQmf_.js">
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/play-Dwo-9xt6.js">
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/search-CiooTLck.js">
|
|
18
|
-
<link rel="stylesheet" crossorigin href="/assets/desktop-NOekk4QS.css">
|
|
19
|
-
</head>
|
|
20
|
-
<body><div id="root"></div></body>
|
|
21
|
-
</html>
|