failproofai 1.0.11 → 1.0.12-beta.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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +23 -23
- package/.next/standalone/.next/prerender-manifest.json +4 -4
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js +2 -2
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +3 -3
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/audit/invite/route.js +5 -6
- package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js +9 -9
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/route.js +2 -2
- package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js +4 -5
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +6 -7
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js +6 -7
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js +5 -6
- package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page.js +4 -4
- package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
- package/.next/standalone/.next/server/app/policies/page.js +3 -3
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js +7 -7
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +8 -8
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js +3 -3
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/settings/page.js +3 -3
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/{[externals]__0qkp92tjfvw8r._.js → [externals]__0-ha5ydqq0mws._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[externals]__1x24dzcbbq6-g._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02vous7mpi2xm._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03i5o4a840guz._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0__a_je8fsn65._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_hsnj_a2mvl_._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l-oi4gdtmlo5._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0swiyzbmvja2d._.js → [root-of-the-server]__0t9ufnv5hi2hq._.js} +5 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wg9dk8x8bnau._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12kq3x-h7t7i1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a5zkndjwlc13._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1r7kbfkiw2xmu._.js → [root-of-the-server]__1aaw59g-5uty7._.js} +12 -12
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1hqpg6vgmfexv._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1izwqj_ij_9x_._.js → [root-of-the-server]__20xe05hm5u8_1._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_09dz7xva4ce_2._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_1ixl-kxq_ctsa._.js → _0kc-piux3hady._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_0tovk6q0miud6._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0trp3ycqv17cl._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1vslkoe35wok6._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4vkpxxu7._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01j58mdcdw0vn._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08ch3staq3ejw._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_a8z2ldp2v3n._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0bigvy9xmv2ka._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ffu2-38y03ic._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g8b0kyorya-t._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h86bl2qf0k_o._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pia5h3p8re4c._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__075uro8t92s0_._.js → [root-of-the-server]__0pwj2h2efe5f-._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0_lbstb5x2t15._.js → [root-of-the-server]__0ts0fg5yih1c1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zn1d4blhd3bu._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1-ey9fgesfbc0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15usvs-ms-0hf._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__16gb3_92zvk5x._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__17r4zrwanhp6r._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1avi2kypusyb_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1lnfv02ucky7m._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mc9-zlnh656_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1r7drlqli-ado._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1s2-ck3k3rsoo._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1l1qgu5mfapkh._.js → [root-of-the-server]__1vx7o8ukefudh._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0eoura3_9gjb-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0pedwblqdoh58._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1_ozgifqv1ssi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1djqs9i27e4kg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1gb0ifpkowwub._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0dc-of_bn0cim._.js → _1ve8y151ua7qx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo5_vm5f.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9snixb5fd-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47q0xq5w._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x33jqb6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpcz0uxur._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_settings_02tf1h47jmhhd._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_html-to-image_es_index_1f_ymmaonkksc.js → node_modules_html-to-image_es_index_00jxj8foxqz5t.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/package_json_[json]_cjs_013tntikdft59._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_pack-cli_ts_0t7me658zqmh_._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +23 -23
- package/.next/standalone/.next/server/middleware.js +2 -2
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/preview-props.json +3 -3
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +23 -23
- package/.next/standalone/.next/static/chunks/{0frxv4_m-m2u5.js → 063al_q720fkj.js} +1 -1
- package/.next/standalone/.next/static/chunks/{16z6_d7sp61jm.js → 0a-ccsp3xmypz.js} +1 -1
- package/.next/standalone/.next/static/chunks/{302llgh97ce6w.js → 0pjxnp927y7_j.js} +1 -1
- package/.next/standalone/.next/static/chunks/{44a7k2_62qc-9.js → 13jv-xvabeb62.js} +2 -2
- package/.next/standalone/.next/static/chunks/2ank2u3apy8m6.js +1 -0
- package/.next/standalone/.next/static/chunks/2meqb9kygrncb.js +1 -0
- package/.next/standalone/.next/static/chunks/2ohktp_-lkv3x.js +1 -0
- package/.next/standalone/.next/static/chunks/2py0eldhwz8ay.js +1 -0
- package/.next/standalone/.next/static/chunks/{1_c0dc7zqj1n7.js → 2qz5piiir-qqm.js} +1 -1
- package/.next/standalone/.next/static/chunks/2tjfp9dirxnku.js +1 -0
- package/.next/standalone/.next/static/chunks/{37stoe-_yd852.js → 2znt1784j9gd9.js} +1 -1
- package/.next/standalone/.next/static/chunks/3tn1bzk094e8e.js +1 -0
- package/.next/standalone/fp-cloud-cli/uv.lock +6 -6
- package/.next/standalone/hermes-plugin/plugin.yaml +1 -1
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/api/context.js +72 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/api/diag.js +84 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/api/metrics.js +50 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/api/propagation.js +80 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/api/trace.js +70 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js +52 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js +44 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js +12 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/baggage/utils.js +41 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js +27 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/context/context.js +52 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/context-api.js +16 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js +47 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js +73 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js +34 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/diag/types.js +33 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/diag-api.js +20 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/index.js +71 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/internal/global-utils.js +60 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/internal/semver.js +111 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/metrics/Metric.js +18 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js +118 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js +20 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/metrics-api.js +17 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js +23 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js +36 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/propagation-api.js +17 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js +58 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js +68 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js +21 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js +46 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js +46 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js +33 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/context-utils.js +71 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js +94 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js +35 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js +16 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js +25 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/span_kind.js +38 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js +66 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/status.js +29 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js +18 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/trace-api.js +17 -0
- package/.next/standalone/node_modules/@opentelemetry/api/build/src/version.js +10 -0
- package/.next/standalone/node_modules/@opentelemetry/api/package.json +96 -0
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +2 -2
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +2 -2
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/generate-agent-files.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/config.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +11 -11
- package/.next/standalone/package.json +11 -11
- package/.next/standalone/sdk/python/CHANGELOG.md +7 -0
- package/.next/standalone/sdk/python/failproofai_sdk/_version.py +1 -1
- package/.next/standalone/sdk/python/pyproject.toml +19 -0
- package/.next/standalone/sdk/python/uv.lock +520 -301
- package/.next/standalone/sdk/typescript/CHANGELOG.md +13 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package-lock.json +4 -13
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package.json +2 -1
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/package-lock.json +4 -13
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/package.json +3 -0
- package/.next/standalone/sdk/typescript/package-lock.json +178 -162
- package/.next/standalone/sdk/typescript/package.json +1 -1
- package/.next/standalone/sdk/typescript/src/version.ts +1 -1
- package/.next/standalone/server.js +1 -1
- package/dist/cli.mjs +638 -79
- package/dist/worker.mjs +1 -1
- package/hermes-plugin/plugin.yaml +1 -1
- package/package.json +11 -11
- package/src/audit/open-browser.ts +19 -1
- package/src/hooks/cloud-introspect.ts +5 -2
- package/src/hooks/cloud-login.ts +245 -0
- package/src/hooks/configure-wizard.ts +311 -15
- package/src/hooks/tui.ts +271 -0
- package/.next/standalone/.next/server/chunks/[externals]__0hjaw70fchx66._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07l68zv0hqdiu._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0car70pylmvor._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u3i025_setk_._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10a2f6s636yc7._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qt5u58xrcuk6._.js +0 -3
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_077n_4ip5__fu._.js +0 -3
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mqvvxcn6v0op._.js +0 -3
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0pb7ds5g0vzgn._.js +0 -3
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_1gasm5xkeqmm3._.js +0 -3
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_1q1heqmkhh8l4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0888k4s6spfmh._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_bflu046ep5j._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0fdwgktjfhedo._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s4deza787asx._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__18qe-hu0gwqm4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1_p_9xe520fex._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1fmhm8_s9i4re._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1g76awtnmimd1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pczevlpk5lxh._.js +0 -3
- package/.next/standalone/.next/static/chunks/0m-tv1y6ghhtk.js +0 -1
- package/.next/standalone/.next/static/chunks/0ol2gj4ntfn56.js +0 -1
- package/.next/standalone/.next/static/chunks/15rm15u5a6dua.js +0 -1
- package/.next/standalone/.next/static/chunks/1kwj8uqxuv85t.js +0 -1
- package/.next/standalone/.next/static/chunks/3hj5_7i3nw4zj.js +0 -1
- package/.next/standalone/.next/static/chunks/3iyoapeoq_hup.js +0 -1
- /package/.next/standalone/.next/static/{kEFP3ybXwZdriNEQmWwlH → SNr7o_-G4kNBQTR-iLZMM}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{kEFP3ybXwZdriNEQmWwlH → SNr7o_-G4kNBQTR-iLZMM}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{kEFP3ybXwZdriNEQmWwlH → SNr7o_-G4kNBQTR-iLZMM}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,64237,e=>{var t=e.i(43476),s=e.i(71645),a=e.i(12344),n=e.i(29054);let l=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function i(e){if((0,n.c)(e))return"request timed out. check your network and try again.";let t=e instanceof Error?e.message:String(e);return`network error: ${t}`}e.s(["f",0,function({open:e,headline:r="where to route the reminder?",subhead:o="we'll send a one-time code to confirm.",onClose:c,onAuthed:d,source:u="unknown"}){let{capture:h}=(0,a.usePostHog)(),[m,f]=(0,s.useState)({kind:"email",error:null}),[v,b]=(0,s.useState)(!1),p=(0,s.useRef)(!1),x=(0,s.useRef)(null),j=(0,s.useRef)(null);(0,s.useEffect)(()=>{e&&(f({kind:"email",error:null}),b(!1),p.current=!1,h("audit_auth_dialog_opened",{source:u}))},[h,e,u]);let w=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(e){w.current=!0;return}w.current&&!p.current&&h("audit_auth_dialog_dismissed",{source:u,step:m.kind}),w.current=!1},[h,e,u,m.kind]),(0,s.useEffect)(()=>{if(!e)return;let t=setTimeout(()=>{"email"===m.kind?x.current?.focus():"code"===m.kind&&j.current?.focus()},50);return()=>clearTimeout(t)},[e,m.kind]),(0,s.useEffect)(()=>{if(!e)return;let t=e=>{"Escape"!==e.key||v||c()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e,v,c]);let g="code"===m.kind&&m.resendIn>0;(0,s.useEffect)(()=>{if(!g)return;let e=setInterval(()=>{f(e=>"code"===e.kind?{...e,resendIn:Math.max(0,e.resendIn-1)}:e)},1e3);return()=>clearInterval(e)},[g]);let y=(0,s.useCallback)(async(e,t={})=>{let{isResend:s=!1}=t,a=e=>{s?f(t=>"code"===t.kind?{...t,error:e}:t):f({kind:"email",error:e})};b(!0);try{let t=await (0,n.q)("/api/auth/login-request",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:e})}),s=await t.json().catch(()=>({}));if(!t.ok){let e=s.message??"could not send code.";"rate_limited"===s.code&&void 0!==s.retry_after_secs?e=`too many tries. wait ${s.retry_after_secs}s and try again.`:"upstream_unreachable"===s.code&&(e="api-server unreachable. check your network."),a(e);return}f({kind:"code",email:e,error:null,expiresIn:s.expires_in??600,resendIn:s.resend_available_in??30})}catch(e){a(i(e))}finally{b(!1)}},[]),k=(0,s.useCallback)(async(e,t)=>{b(!0);try{let s=await (0,n.q)("/api/auth/login-verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,code:t})}),a=await s.json().catch(()=>({}));if(!s.ok||!a.authenticated||!a.user){let e=a.message??"invalid code.";"invalid_code"===a.code&&(e="wrong code, or it expired. try again."),f(t=>"code"===t.kind?{...t,error:e}:t);return}p.current=!0,h("audit_auth_dialog_succeeded",{source:u}),f({kind:"done",user:a.user}),d(a.user)}catch(t){let e=i(t);f(t=>"code"===t.kind?{...t,error:e}:t)}finally{b(!1)}},[h,d,u]),N=(0,s.useCallback)(async e=>{if(e.preventDefault(),v||"email"!==m.kind)return;let t=String(new FormData(e.currentTarget).get("email")??"").trim().toLowerCase();l.test(t)?await y(t):f({kind:"email",error:"that doesn't look like an email."})},[v,m,y]),C=(0,s.useCallback)(async e=>{if(e.preventDefault(),v||"code"!==m.kind)return;let t=String(new FormData(e.currentTarget).get("code")??"").trim();t.length<4||t.length>12?f(e=>"code"===e.kind?{...e,error:"code is 4–12 characters."}:e):await k(m.email,t)},[v,m,k]),S=(0,s.useCallback)(async()=>{"code"!==m.kind||m.resendIn>0||v||await y(m.email,{isResend:!0})},[m,v,y]);return e?(0,t.jsx)("div",{className:"auth-dialog-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"auth-dialog-title",onClick:e=>{v||e.target!==e.currentTarget||c()},children:(0,t.jsxs)("div",{className:"auth-dialog",children:[(0,t.jsx)("button",{type:"button",className:"auth-close",onClick:c,disabled:v,"aria-label":"close",children:"×"}),(0,t.jsx)("h2",{id:"auth-dialog-title",className:"auth-headline",children:r}),"email"===m.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"auth-sub",children:o}),(0,t.jsxs)("form",{onSubmit:N,className:"auth-form",children:[(0,t.jsx)("input",{ref:x,id:"auth-dialog-email",name:"email",type:"email",autoComplete:"email",inputMode:"email",spellCheck:!1,placeholder:"you@yourdomain.com",disabled:v,className:"auth-input",required:!0}),m.error&&(0,t.jsx)("div",{className:"auth-error",children:m.error}),(0,t.jsxs)("div",{className:"auth-actions",children:[(0,t.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:v,children:v?"sending…":"send code"}),(0,t.jsx)("button",{type:"button",className:"auth-btn",onClick:c,disabled:v,children:"cancel"})]})]})]}),"code"===m.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"auth-sub",children:["code sent to ",(0,t.jsx)("span",{className:"auth-email",children:m.email}),". expires in ",Math.ceil(m.expiresIn/60)," min."]}),(0,t.jsxs)("form",{onSubmit:C,className:"auth-form",children:[(0,t.jsx)("input",{ref:j,id:"auth-dialog-code",name:"code",type:"text",inputMode:"numeric",autoComplete:"one-time-code",spellCheck:!1,placeholder:"123456",disabled:v,className:"auth-input auth-input-code",maxLength:12,required:!0}),m.error&&(0,t.jsx)("div",{className:"auth-error",children:m.error}),(0,t.jsxs)("div",{className:"auth-actions",children:[(0,t.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:v,children:v?"verifying…":"verify"}),(0,t.jsx)("button",{type:"button",className:"auth-btn",onClick:S,disabled:v||m.resendIn>0,children:m.resendIn>0?`resend in ${m.resendIn}s`:"resend code"})]}),(0,t.jsx)("button",{type:"button",className:"auth-back",onClick:()=>f({kind:"email",error:null}),disabled:v,children:"← use a different email"})]})]}),"done"===m.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"auth-sub",children:[(0,t.jsx)("span",{className:"auth-ok",children:"✓"})," signed in as"," ",(0,t.jsx)("span",{className:"auth-email",children:m.user.email}),"."]}),(0,t.jsx)("div",{className:"auth-actions",children:(0,t.jsx)("button",{type:"button",className:"auth-btn primary",onClick:c,children:"continue"})})]})]})}):null}])},86616,e=>{var t=e.i(29054);class s extends Error{kind;constructor(e,t){super(t),this.kind=e,this.name="RerunError"}}async function a(e){try{let a=await (0,t.q)("/api/audit/run",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({cli:e.cli.length>0?e.cli:void 0,since:"all"===e.since?void 0:e.since,noCache:!!e.noCache||void 0})});if(!a.ok&&409!==a.status){let e=await a.text().catch(()=>"");throw console.error("audit run failed:",a.status,e),new s("post_failed",`audit run failed (${a.status})`)}}catch(e){if(e instanceof s)throw e;throw console.error("audit run request failed:",e),new s((0,t.c)(e)?"timeout":"network","audit run request failed")}let a=0;for(;;){await new Promise(e=>setTimeout(e,1e3));let e=null;try{let s=await (0,t.q)("/api/audit/status",{cache:"no-store"});s.ok&&(e=await s.json())}catch{}if(null===e){if(++a>=10)throw new s("network","audit status poll lost the server");continue}if(a=0,!e.running){if(e.error)throw new s("post_failed",e.error);return}}}e.s(["t",0,s,"s",0,a])},2917,e=>{var t=e.i(43476),s=e.i(71645),a=e.i(95187);let n=(0,a.createServerReference)("0091e4a6c5cd5050407bf314b44112842d26cce0f0",a.callServer,void 0,a.findSourceMapURL,"getJevSettingsAction"),l=(0,a.createServerReference)("00ac752eef29e96c96dcb2fb62c94be42957b119cf",a.callServer,void 0,a.findSourceMapURL,"removeJevConfigAction"),i=(0,a.createServerReference)("407a110bf2029405988e09fd19589fdb782599ea08",a.callServer,void 0,a.findSourceMapURL,"saveJevConfigAction"),r=(0,a.createServerReference)("404dab712bd4a1ea8b755b7634d5888418cef1042e",a.callServer,void 0,a.findSourceMapURL,"setJevModeAction");var o=e.i(55574);let c=[{value:"typesafe",label:"typesafe"},{value:"openrouter",label:"openrouter"},{value:"vercel",label:"vercel ai gateway"},{value:"cloudflare",label:"cloudflare workers ai"},{value:"custom",label:"custom endpoint"}],d=[{value:"enforce",label:"enforce — jev's verdict counts"},{value:"observe",label:"observe — log only, regex decides"},{value:"off",label:"off — keep this config, don't ask jev"}],u="failproofai";function h(e){return{provider:e.provider&&e.provider!==u?e.provider:"typesafe",baseUrl:e.baseUrl,accountId:e.accountId,mode:e.mode}}function m({id:e,label:s,hint:a,children:n}){return(0,t.jsxs)("div",{className:"set-field",children:[(0,t.jsx)("label",{className:"set-field-label",htmlFor:e,children:s}),n,a?(0,t.jsx)("span",{className:"set-hint",children:a}):null]})}e.s(["default",0,function({initial:e}){var a,f,v;let b,[p,x]=(0,s.useState)(e),[j,w]=(0,s.useState)(e?h(e):{provider:"typesafe",baseUrl:"",accountId:"",mode:"enforce"}),[g,y]=(0,s.useState)(""),[k,N]=(0,s.useState)(!1),[C,S]=(0,s.useState)(null),[M,A]=(0,s.useState)(!1),$=(0,s.useRef)(!0),I=(0,s.useRef)(!1),E=(0,s.useCallback)(async()=>{try{let e=await n();if(!$.current)return;x(e),I.current||w(h(e))}catch{}},[]);(0,s.useEffect)(()=>($.current=!0,E(),()=>{$.current=!1}),[E]),(0,s.useEffect)(()=>{let e=()=>void E();return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[E]);let R=(0,s.useCallback)((e,t)=>{I.current=!0,w(s=>({...s,[e]:t}))},[]),_=(0,s.useCallback)(async()=>{N(!0),S(null);try{let e=await i({provider:j.provider,baseUrl:j.baseUrl,accountId:j.accountId,mode:j.mode,token:g});if(!e.ok){S(e.problem),A(!0===e.needsToken);return}I.current=!1,A(!1),y(""),x(e.view),w(h(e.view)),(0,o.toast)(e.view.on?"jev is on.":"saved.")}catch{S("could not save that.")}finally{N(!1)}},[j,g]),F=(0,s.useCallback)(async e=>{N(!0),S(null);try{let t=await r(e);if(!t.ok)return void S(t.problem);I.current=!1,x(t.view),w(h(t.view)),(0,o.toast)("off"===e?"jev is off. hooks run the regex policies.":`jev is on, in ${e} mode.`)}catch{S("could not switch that.")}finally{N(!1)}},[]),D=(0,s.useCallback)(async()=>{N(!0),S(null),A(!1);try{let e=await l();if(!e.ok)return void S(e.problem);I.current=!1,y(""),x(e.view),w(h(e.view)),(0,o.toast)("jev is off. hooks run the regex policies.")}catch{S("could not turn that off.")}finally{N(!1)}},[]),L=null!==p&&"absent"!==p.status,U=p?.provider===u,T=p?.token,q=M?"needed for this save — type the token for this endpoint":T?"cloud"===T.source?"from this machine's FailproofAI Cloud connection":"env"===T.source?"configured, read from the environment — leave blank to keep it":"configured — leave blank to keep it":p?.status==="key-missing"?"read from the environment, which is not set in this shell — leave blank to keep it that way":"sent as a bearer token; stored owner-only at 0600";return(0,t.jsxs)("div",{className:"set-cell set-jev",children:[(0,t.jsx)("h2",{className:"set-cell-title",children:"jev · semantic evaluation"}),(0,t.jsx)("div",{className:"set-row set-row-main",children:(0,t.jsxs)("div",{className:"set-row-copy",children:[(0,t.jsx)("span",{className:p?.on?"set-strong":"set-dim",children:null===p?"reading…":p.on?`on. every judged command is also asked of ${(a=p.provider)===u?"FailproofAI Cloud":a??""}.`:"off"===p.status?"off — switched off. hooks run the regex policies exactly as before.":"not-connected"===p.status?"off — this machine is not connected to FailproofAI Cloud. hooks run the regex policies.":"key-lacks-jev"===p.status?"off — no jev key is stored for this machine's FailproofAI Cloud connection. hooks run the regex policies.":"key-missing"===p.status?"off for this dashboard — FAILPROOFAI_JEV_API_KEY is not set in its environment. hooks run the regex policies wherever it is unset, including under the daemon; a session that sets it still consults jev.":"off. hooks run the regex policies exactly as before."}),(0,t.jsx)("span",{className:"set-dim",children:p?.on?"observe"===p.mode?"observe: jev's answers are logged, the regex result is what gets enforced.":"enforce: jev's answers can clear a reviewable deny.":U?"through FailproofAI Cloud, on your org's plan — no endpoint or token of your own.":"a second opinion on the commands the regex policies flag. needs your own endpoint and token."})]})}),p&&(0,t.jsx)("dl",{className:"set-how-list set-jev-cloud",children:(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"FailproofAI Cloud connection"}),(0,t.jsx)("dd",{className:"set-how-body",children:function(e){if(!e||!e.connected)return e?.jev==="yes"?"a jev key is stored, but no connection is":"not connected";let t=e.org??e.host??"connected",s="yes"===e.jev?"key carries jev":"refused"===e.jev?"jev key refused — credentials.json is not owner-only":"no jev key stored";return`connected to ${t} \xb7 ${s}`}(p.cloud)})]})}),p&&L&&(0,t.jsxs)("dl",{className:"set-how-list",children:[U&&(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"provider"}),(0,t.jsx)("dd",{className:"set-how-body",children:p.cloud?.host?`FailproofAI Cloud \xb7 ${p.cloud.host}`:"FailproofAI Cloud"})]}),(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"model"}),(0,t.jsx)("dd",{className:"set-how-body",children:function(e){switch(e.kind){case"id":return e.id;case"withheld":return"set to something that is not a model id — not shown here, in case it is a key";default:return"the provider's default"}}(p.model)})]}),(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"token"}),(0,t.jsx)("dd",{className:"set-how-body",children:T?"cloud"===T.source?"FailproofAI Cloud connection":"env"===T.source?"from FAILPROOFAI_JEV_API_KEY":"configured":U?p.cloud?.connected?"none stored for this connection":"none — this machine is not connected":"none stored"})]}),p.reviewable&&(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"reviewable"}),(0,t.jsx)("dd",{className:"set-how-body",children:p.reviewable.summary})]}),p.stats&&p.stats.total>0&&(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"fallbacks"}),(0,t.jsx)("dd",{className:"set-how-body",children:`${(f=p.stats.fallbackRate,`${Math.round(100*f)}%`)} of ${p.stats.total} calls in the last ${Number.isInteger(b=(v=p.stats.windowMs)/36e5)&&b>=1?b%24==0?`${b/24}d`:`${b}h`:`${Math.max(1,Math.round(v/6e4))}m`} fell back to the regex engine.`})]})]}),p?.problem&&(0,t.jsxs)("p",{className:"set-warn",children:[p.problem,p.fix?` — ${p.fix}`:""]}),p?.reviewable?.problem&&(0,t.jsx)("p",{className:"set-warn",children:p.reviewable.problem}),(0,t.jsx)("div",{className:"set-rule"}),U?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"set-jev-fields",children:(0,t.jsx)(m,{id:"jev-cloud-mode",label:"mode",hint:"the endpoint and key come from this machine's FailproofAI Cloud connection",children:(0,t.jsx)("select",{id:"jev-cloud-mode",className:"set-select",value:p?.mode==="enforce"?"enforce":"observe",disabled:k||p?.mode==="off",onChange:e=>void F("enforce"===e.target.value?"enforce":"observe"),children:d.filter(e=>"off"!==e.value).map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})})}),C&&(0,t.jsx)("p",{className:"set-warn",children:C}),(0,t.jsx)("div",{className:"set-actions set-jev-actions",children:(0,t.jsx)("button",{type:"button",className:"btn btn-press",disabled:k,onClick:()=>void F(p?.mode==="off"?"observe":"off"),children:k?"[ switching… ]":p?.mode==="off"?"[ turn jev on ]":"[ turn jev off ]"})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"set-jev-fields",children:[(0,t.jsx)(m,{id:"jev-provider",label:"provider",children:(0,t.jsx)("select",{id:"jev-provider",className:"set-select",value:j.provider,disabled:k,onChange:e=>R("provider",e.target.value),children:c.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})}),(0,t.jsx)(m,{id:"jev-url",label:"endpoint url",hint:["custom"===j.provider?"required — https, or http to localhost in observe mode":"leave blank for the provider's own api",p?.baseUrlQueryWithheld?"the stored url's query string is not shown here — leave the url as it is to keep it":null].filter(Boolean).join(" · "),children:(0,t.jsx)("input",{id:"jev-url",type:"text",className:"set-text",inputMode:"url",autoComplete:"off",spellCheck:!1,placeholder:"custom"===j.provider?"https://…":"the provider's own api",value:j.baseUrl,disabled:k,onChange:e=>R("baseUrl",e.target.value)})}),"cloudflare"===j.provider&&(0,t.jsx)(m,{id:"jev-account",label:"account id",hint:"32 lowercase hex characters",children:(0,t.jsx)("input",{id:"jev-account",type:"text",className:"set-text",autoComplete:"off",spellCheck:!1,value:j.accountId,disabled:k,onChange:e=>R("accountId",e.target.value)})}),(0,t.jsx)(m,{id:"jev-token",label:"token",hint:q,children:(0,t.jsx)("input",{id:"jev-token",type:"password",className:"set-text",autoComplete:"off",spellCheck:!1,placeholder:T?"•••• kept":"",value:g,disabled:k,"aria-invalid":M||void 0,onChange:e=>{I.current=!0,y(e.target.value)}})}),(0,t.jsx)(m,{id:"jev-mode",label:"mode",children:(0,t.jsx)("select",{id:"jev-mode",className:"set-select",value:j.mode,disabled:k,onChange:e=>R("mode",e.target.value),children:d.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})})]}),C&&(0,t.jsx)("p",{className:"set-warn",children:C}),(0,t.jsxs)("div",{className:"set-actions set-jev-actions",children:[(0,t.jsx)("button",{type:"button",className:"btn btn-press",disabled:k,onClick:()=>void _(),children:k?"[ saving… ]":L?"[ save changes ]":"[ turn jev on ]"}),L&&(0,t.jsx)("button",{type:"button",className:"set-link",disabled:k,onClick:()=>void D(),children:"turn jev off"})]})]})]})}],2917)},93237,e=>{var t=e.i(43476),s=e.i(71645),a=e.i(95187);let n=(0,a.createServerReference)("007d5891732fd31878aa7e73fa480008065c461d8b",a.callServer,void 0,a.findSourceMapURL,"getScheduledAuditAction"),l=(0,a.createServerReference)("4054b9e2c677132d821925a612b4b0e1f9bce73de1",a.callServer,void 0,a.findSourceMapURL,"setAutoAuditAction"),i=(0,a.createServerReference)("40a5d5f802f763490e33f34a482a23b82d5d83fa8a",a.callServer,void 0,a.findSourceMapURL,"setAuditIntervalAction");var r=e.i(86616),o=e.i(64237),c=e.i(55574),d=e.i(34713);function u(e){return new Date(e).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function h(e,t){let s=e-t;if(s<=0)return"now";let a=Math.floor(s/864e5),n=Math.floor(s%864e5/36e5);return a>0?n>0?`${a}d ${n}h`:`${a}d`:n>0?`${n}h`:`${Math.max(1,Math.floor(s/6e4))}m`}function m(e){return e.toLocaleString("en-US")}function f({label:e,value:s,sub:a,tone:n}){return(0,t.jsxs)("div",{className:"set-stat",children:[(0,t.jsx)("div",{className:"set-stat-label",children:e}),(0,t.jsx)("div",{className:`set-stat-value${n?` ${n}`:""}`,children:s}),(0,t.jsx)("div",{className:"set-stat-sub",children:a??" "})]})}function v({lastRunAtMs:e,nextDueAtMs:s,now:a}){if(null==e||null==s||s<=e)return null;let n=Math.min(100,Math.max(0,(a-e)/(s-e)*100));return(0,t.jsxs)("div",{className:"tape","aria-hidden":"true",children:[(0,t.jsxs)("div",{className:"tape-rail",children:[(0,t.jsx)("div",{className:"tape-fill",style:{width:`${n}%`}}),(0,t.jsx)("div",{className:"tape-now",style:{left:`${n}%`}})]}),(0,t.jsxs)("div",{className:"tape-ends",children:[(0,t.jsxs)("span",{children:["last scan · ",u(e)]}),(0,t.jsxs)("span",{className:"tape-next",children:["next · ",h(s,a)]})]})]})}function b({enabled:e,onChange:s,disabled:a,label:n}){return(0,t.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":n,disabled:a,onClick:s,className:"sw","data-on":e?"true":"false",children:(0,t.jsx)("span",{className:"sw-knob"})})}let p=[{label:"reads",body:"every session transcript on disk — your prompts, the files your agents read and wrote, and command output."},{label:"runs",body:"entirely on this machine. the transcripts never leave it."},{label:"sends",body:"counts, redacted examples, and this machine's name — and only when a scan finds something harmful."}];e.s(["default",0,function({initial:e,jevPanel:a}){let[x,j]=(0,s.useState)(e),[w,g]=(0,s.useState)(e?.auto??!1),[y,k]=(0,s.useState)(e?.intervalDays??7),[N,C]=(0,s.useState)(!1),[S,M]=(0,s.useState)(!1),[A,$]=(0,s.useState)(!1),[I,E]=(0,s.useState)(null===e),[R,_]=(0,s.useState)(0),F=(0,s.useRef)(!0),D=(0,s.useRef)(null!==e),L=(0,s.useCallback)(async()=>{try{let e=await n();if(!F.current)return;j(e),D.current=!0,g(e.auto),k(e.intervalDays),_(Date.now()),E(!1)}catch{F.current&&!D.current&&E(!0)}},[]);(0,s.useEffect)(()=>(F.current=!0,L(),()=>{F.current=!1}),[L]),(0,s.useEffect)(()=>{let e=()=>void L();return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[L]);let U=x?.signedInAs??null,T=x?.daemon==="running",q=x?.daemon==="unsupported-platform",O=x?.schedule??null,P=x?.lastScan??null,J=O?.lastExitCode!=null&&0!==O.lastExitCode&&75!==O.lastExitCode,B=(0,s.useCallback)(async()=>{C(!0);try{let e=await l(!0);if(!e.ok){if(g(!1),"unreachable"===e.reason)return void(0,c.toast)("could not reach the server. check your connection and try again.");await L(),$(!0),(0,c.toast)("that sign-in expired. one more code and it's on.");return}g(e.auto),(0,c.toast)("scheduled audits on."),await L()}catch{g(!1),(0,c.toast)("could not turn that on.")}finally{C(!1)}},[L]),K=(0,s.useCallback)(async()=>{if(w){C(!0);try{let e=await l(!1);e.ok&&g(e.auto),(0,c.toast)("scheduled audits off."),await L()}catch{(0,c.toast)("could not turn that off.")}finally{C(!1)}return}U?await B():$(!0)},[w,B,L,U]),V=(0,s.useCallback)(async e=>{C(!0);try{let t=await i(e);k(t.intervalDays),j(e=>e?{...e,intervalDays:t.intervalDays}:e),(0,c.toast)(`scanning every ${t.intervalDays} day${1===t.intervalDays?"":"s"}.`)}catch{k(x?.intervalDays??7),(0,c.toast)("could not save that.")}finally{C(!1)}},[x?.intervalDays]),Y=(0,s.useCallback)(async()=>{C(!0);try{await fetch("/api/auth/logout",{method:"POST"}),(0,c.toast)("signed out. scans continue; digests pause."),await L()}catch{(0,c.toast)("could not sign out.")}finally{C(!1)}},[L]),H=(0,s.useCallback)(async()=>{if(!S){M(!0);try{await (0,r.s)({cli:[],since:"all",noCache:!1}),(0,c.toast)("scan complete."),await L()}catch(e){(0,c.toast)(e instanceof r.t&&"timeout"===e.kind?"the scan is taking a while — it will finish in the background.":"the scan could not be completed.")}finally{M(!1)}}},[L,S]),Q=(0,s.useCallback)(async e=>{$(!1),await L(),await B()},[B,L]),W=x?T?{value:"running",sub:null!=x.daemonStartedAtMs&&R>0?`up ${function(e){let t=Math.floor(e/864e5);if(t>0)return`${t}d`;let s=Math.floor(e/36e5);return s>0?`${s}h`:`${Math.max(1,Math.floor(e/6e4))}m`}(Math.max(0,R-x.daemonStartedAtMs))}`:"",tone:"ok"}:q?{value:"unavailable",sub:"not on this platform"}:"not-installed"===x.daemon?{value:"not installed",sub:"run failproofai config",tone:"warn"}:"unknown"===x.daemon?{value:"unknown",sub:"could not read it"}:{value:"stopped",sub:"run failproofai config",tone:"warn"}:{value:"…",sub:"reading"},z=w?O?.nextDueAtMs==null?{value:"pending",sub:"after the next scan"}:{value:R>0?h(O.nextDueAtMs,R):"—",sub:u(O.nextDueAtMs)}:{value:"off",sub:"nothing scheduled"},G=P?{value:(0,d.g)(Date.parse(P.finishedAt)),sub:null!=P.sessionsScanned?`${m(P.sessionsScanned)} sessions`:"scanned"}:{value:"none yet",sub:"run one below"},X=P?null==P.findings?{value:"—",sub:"unreadable"}:{value:m(P.findings),sub:"this scan",...P.findings>0?{tone:"warn"}:{}}:{value:"—",sub:"no scan yet"};return(0,t.jsxs)("main",{className:"report",children:[(0,t.jsxs)("section",{className:"section set-sec",children:[(0,t.jsxs)("div",{className:"set-mast",children:[(0,t.jsx)("h1",{className:"set-title",children:"settings"}),(0,t.jsx)("p",{className:"set-lede",children:"keeping watch, so you don't have to."})]}),I?(0,t.jsxs)("div",{className:"set-console",children:[(0,t.jsx)("div",{className:"set-cell",children:(0,t.jsxs)("p",{className:"set-warn",children:["could not read this machine's settings. check that the dashboard can reach ",(0,t.jsx)("code",{children:"~/.failproofai/config.json"}),"."]})}),a]}):(0,t.jsxs)("div",{className:"set-console",children:[(0,t.jsxs)("div",{className:"set-stats",children:[(0,t.jsx)(f,{label:"daemon",...W}),(0,t.jsx)(f,{label:"next scan",...z}),(0,t.jsx)(f,{label:"last scan",...G}),(0,t.jsx)(f,{label:"findings",...X})]}),(0,t.jsxs)("div",{className:"set-cols",children:[(0,t.jsxs)("div",{className:"set-cell set-config",children:[(0,t.jsx)("h2",{className:"set-cell-title",children:"scheduled audit"}),(0,t.jsxs)("div",{className:"set-row set-row-main",children:[(0,t.jsx)(b,{enabled:w,disabled:N||null===x,onChange:()=>void K(),label:w?"turn off scheduled audits":"turn on scheduled audits"}),(0,t.jsxs)("div",{className:"set-row-copy",children:[(0,t.jsx)("span",{className:"set-strong",children:w?"scanning on a schedule.":"scan on a schedule."}),(0,t.jsx)("span",{className:"set-dim",children:w?"you'll get an email only when a scan finds something.":"off. nothing runs and nothing is sent."})]})]}),(0,t.jsxs)("div",{className:"set-row set-row-interval",children:[(0,t.jsx)("span",{className:"set-dim",children:"scan every"}),(0,t.jsx)("input",{type:"number",className:"set-num",min:1,max:90,value:y,disabled:N||null===x,"aria-label":"days between scheduled scans",onChange:e=>k(Number(e.target.value)),onBlur:e=>{let t=Number(e.target.value);Number.isFinite(t)?t!==x?.intervalDays&&V(t):k(x?.intervalDays??7)}}),(0,t.jsx)("span",{className:"set-dim",children:"days"}),(0,t.jsxs)("span",{className:"set-hint",children:[1,"–",90]})]}),(0,t.jsx)("div",{className:"set-rule"}),(0,t.jsx)("div",{className:"set-row set-row-identity",children:U?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"set-dim",children:"reports go to"}),(0,t.jsx)("span",{className:"set-email",children:U.email}),(0,t.jsx)("button",{type:"button",className:"set-link",disabled:N,onClick:()=>void Y(),children:"sign out"})]}):w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"set-warn",children:"signed out — scans continue, digests are paused."}),(0,t.jsx)("button",{type:"button",className:"set-link",disabled:N,onClick:()=>$(!0),children:"sign in to resume"})]}):(0,t.jsx)("span",{className:"set-dim",children:"turning this on asks for an email, so there is somewhere to send the report."})}),w&&x&&!T&&(0,t.jsx)("p",{className:"set-warn",children:q?"the background service isn't available on this platform, so scheduled scans can't run here. you can still run one now.":"not-installed"===x.daemon?"the background service isn't installed, so nothing will run on the timer. install it with `failproofai config`.":"the background service is stopped, so nothing will run until it starts. repair it with `failproofai config`."}),J&&(0,t.jsxs)("p",{className:"set-warn",children:["the last scheduled scan exited ",O?.lastExitCode,". the next one will still run."]}),(0,t.jsx)("div",{className:"set-actions",children:(0,t.jsx)("button",{type:"button",className:"btn btn-press",disabled:S,onClick:()=>void H(),children:S?"[ scanning… ]":"[ run a scan now ]"})})]}),(0,t.jsxs)("div",{className:"set-cell set-how",children:[(0,t.jsx)("h2",{className:"set-cell-title",children:"how it works"}),(0,t.jsx)("dl",{className:"set-how-list",children:p.map(e=>(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:e.label}),(0,t.jsx)("dd",{className:"set-how-body",children:e.body})]},e.label))})]})]}),a]}),w&&R>0&&(0,t.jsx)(v,{lastRunAtMs:O?.lastRunAtMs??null,nextDueAtMs:O?.nextDueAtMs??null,now:R})]}),(0,t.jsx)(o.f,{open:A,source:"settings_scheduled_audit",headline:"where should the report go?",subhead:"we'll send a one-time code to confirm.",onClose:()=>$(!1),onAuthed:e=>void Q(e)})]})}],93237)},29054,e=>{e.s(["q",0,function(e,t={},s=15e3){let a=AbortSignal.timeout(s),n=t.signal?AbortSignal.any([t.signal,a]):a;return fetch(e,{...t,signal:n})},"c",0,function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}])},34713,e=>{e.s(["M",0,function(e){if(e<1e3)return`${e}ms`;let t=Math.round(e/100);if(t<600)return`${(t/10).toFixed(1)}s`;let s=Math.round(e/1e3);if(s<3600){let e=Math.floor(s/60);return`${e}m ${s%60}s`}let a=Math.round(e/6e4),n=Math.floor(a/60);return`${n}h ${a%60}m`},"g",0,function(e){let t=Date.now()-e;return t<6e4?`${Math.max(1,Math.floor(t/1e3))}s ago`:t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}])}])})();
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,64237,e=>{var t=e.i(43476),s=e.i(71645),a=e.i(12344),n=e.i(29054);let l=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function i(e){if((0,n.c)(e))return"request timed out. check your network and try again.";let t=e instanceof Error?e.message:String(e);return`network error: ${t}`}e.s(["f",0,function({open:e,headline:r="where to route the reminder?",subhead:o="we'll send a one-time code to confirm.",onClose:c,onAuthed:d,source:u="unknown"}){let{capture:h}=(0,a.usePostHog)(),[m,f]=(0,s.useState)({kind:"email",error:null}),[v,b]=(0,s.useState)(!1),p=(0,s.useRef)(!1),x=(0,s.useRef)(null),j=(0,s.useRef)(null);(0,s.useEffect)(()=>{e&&(f({kind:"email",error:null}),b(!1),p.current=!1,h("audit_auth_dialog_opened",{source:u}))},[h,e,u]);let w=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(e){w.current=!0;return}w.current&&!p.current&&h("audit_auth_dialog_dismissed",{source:u,step:m.kind}),w.current=!1},[h,e,u,m.kind]),(0,s.useEffect)(()=>{if(!e)return;let t=setTimeout(()=>{"email"===m.kind?x.current?.focus():"code"===m.kind&&j.current?.focus()},50);return()=>clearTimeout(t)},[e,m.kind]),(0,s.useEffect)(()=>{if(!e)return;let t=e=>{"Escape"!==e.key||v||c()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e,v,c]);let g="code"===m.kind&&m.resendIn>0;(0,s.useEffect)(()=>{if(!g)return;let e=setInterval(()=>{f(e=>"code"===e.kind?{...e,resendIn:Math.max(0,e.resendIn-1)}:e)},1e3);return()=>clearInterval(e)},[g]);let y=(0,s.useCallback)(async(e,t={})=>{let{isResend:s=!1}=t,a=e=>{s?f(t=>"code"===t.kind?{...t,error:e}:t):f({kind:"email",error:e})};b(!0);try{let t=await (0,n.q)("/api/auth/login-request",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:e})}),s=await t.json().catch(()=>({}));if(!t.ok){let e=s.message??"could not send code.";"rate_limited"===s.code&&void 0!==s.retry_after_secs?e=`too many tries. wait ${s.retry_after_secs}s and try again.`:"upstream_unreachable"===s.code&&(e="api-server unreachable. check your network."),a(e);return}f({kind:"code",email:e,error:null,expiresIn:s.expires_in??600,resendIn:s.resend_available_in??30})}catch(e){a(i(e))}finally{b(!1)}},[]),k=(0,s.useCallback)(async(e,t)=>{b(!0);try{let s=await (0,n.q)("/api/auth/login-verify",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,code:t})}),a=await s.json().catch(()=>({}));if(!s.ok||!a.authenticated||!a.user){let e=a.message??"invalid code.";"invalid_code"===a.code&&(e="wrong code, or it expired. try again."),f(t=>"code"===t.kind?{...t,error:e}:t);return}p.current=!0,h("audit_auth_dialog_succeeded",{source:u}),f({kind:"done",user:a.user}),d(a.user)}catch(t){let e=i(t);f(t=>"code"===t.kind?{...t,error:e}:t)}finally{b(!1)}},[h,d,u]),N=(0,s.useCallback)(async e=>{if(e.preventDefault(),v||"email"!==m.kind)return;let t=String(new FormData(e.currentTarget).get("email")??"").trim().toLowerCase();l.test(t)?await y(t):f({kind:"email",error:"that doesn't look like an email."})},[v,m,y]),C=(0,s.useCallback)(async e=>{if(e.preventDefault(),v||"code"!==m.kind)return;let t=String(new FormData(e.currentTarget).get("code")??"").trim();t.length<4||t.length>12?f(e=>"code"===e.kind?{...e,error:"code is 4–12 characters."}:e):await k(m.email,t)},[v,m,k]),S=(0,s.useCallback)(async()=>{"code"!==m.kind||m.resendIn>0||v||await y(m.email,{isResend:!0})},[m,v,y]);return e?(0,t.jsx)("div",{className:"auth-dialog-backdrop",role:"dialog","aria-modal":"true","aria-labelledby":"auth-dialog-title",onClick:e=>{v||e.target!==e.currentTarget||c()},children:(0,t.jsxs)("div",{className:"auth-dialog",children:[(0,t.jsx)("button",{type:"button",className:"auth-close",onClick:c,disabled:v,"aria-label":"close",children:"×"}),(0,t.jsx)("h2",{id:"auth-dialog-title",className:"auth-headline",children:r}),"email"===m.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"auth-sub",children:o}),(0,t.jsxs)("form",{onSubmit:N,className:"auth-form",children:[(0,t.jsx)("input",{ref:x,id:"auth-dialog-email",name:"email",type:"email",autoComplete:"email",inputMode:"email",spellCheck:!1,placeholder:"you@yourdomain.com",disabled:v,className:"auth-input",required:!0}),m.error&&(0,t.jsx)("div",{className:"auth-error",children:m.error}),(0,t.jsxs)("div",{className:"auth-actions",children:[(0,t.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:v,children:v?"sending…":"send code"}),(0,t.jsx)("button",{type:"button",className:"auth-btn",onClick:c,disabled:v,children:"cancel"})]})]})]}),"code"===m.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"auth-sub",children:["code sent to ",(0,t.jsx)("span",{className:"auth-email",children:m.email}),". expires in ",Math.ceil(m.expiresIn/60)," min."]}),(0,t.jsxs)("form",{onSubmit:C,className:"auth-form",children:[(0,t.jsx)("input",{ref:j,id:"auth-dialog-code",name:"code",type:"text",inputMode:"numeric",autoComplete:"one-time-code",spellCheck:!1,placeholder:"123456",disabled:v,className:"auth-input auth-input-code",maxLength:12,required:!0}),m.error&&(0,t.jsx)("div",{className:"auth-error",children:m.error}),(0,t.jsxs)("div",{className:"auth-actions",children:[(0,t.jsx)("button",{type:"submit",className:"auth-btn primary",disabled:v,children:v?"verifying…":"verify"}),(0,t.jsx)("button",{type:"button",className:"auth-btn",onClick:S,disabled:v||m.resendIn>0,children:m.resendIn>0?`resend in ${m.resendIn}s`:"resend code"})]}),(0,t.jsx)("button",{type:"button",className:"auth-back",onClick:()=>f({kind:"email",error:null}),disabled:v,children:"← use a different email"})]})]}),"done"===m.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"auth-sub",children:[(0,t.jsx)("span",{className:"auth-ok",children:"✓"})," signed in as"," ",(0,t.jsx)("span",{className:"auth-email",children:m.user.email}),"."]}),(0,t.jsx)("div",{className:"auth-actions",children:(0,t.jsx)("button",{type:"button",className:"auth-btn primary",onClick:c,children:"continue"})})]})]})}):null}])},86616,e=>{var t=e.i(29054);class s extends Error{kind;constructor(e,t){super(t),this.kind=e,this.name="RerunError"}}async function a(e){try{let a=await (0,t.q)("/api/audit/run",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({cli:e.cli.length>0?e.cli:void 0,since:"all"===e.since?void 0:e.since,noCache:!!e.noCache||void 0})});if(!a.ok&&409!==a.status){let e=await a.text().catch(()=>"");throw console.error("audit run failed:",a.status,e),new s("post_failed",`audit run failed (${a.status})`)}}catch(e){if(e instanceof s)throw e;throw console.error("audit run request failed:",e),new s((0,t.c)(e)?"timeout":"network","audit run request failed")}let a=0;for(;;){await new Promise(e=>setTimeout(e,1e3));let e=null;try{let s=await (0,t.q)("/api/audit/status",{cache:"no-store"});s.ok&&(e=await s.json())}catch{}if(null===e){if(++a>=10)throw new s("network","audit status poll lost the server");continue}if(a=0,!e.running){if(e.error)throw new s("post_failed",e.error);return}}}e.s(["t",0,s,"s",0,a])},2917,e=>{var t=e.i(43476),s=e.i(71645),a=e.i(95187);let n=(0,a.createServerReference)("00c117e2f6723aaec427f79646a93b7db2e2c1fc33",a.callServer,void 0,a.findSourceMapURL,"getJevSettingsAction"),l=(0,a.createServerReference)("000f25cb570f9ee8b2f54da19de57f679d6e17a052",a.callServer,void 0,a.findSourceMapURL,"removeJevConfigAction"),i=(0,a.createServerReference)("40efd95eef98ad185ef9d139a21ca7d1d6905e34d5",a.callServer,void 0,a.findSourceMapURL,"saveJevConfigAction"),r=(0,a.createServerReference)("4051bcb104f743e8e533ce34b83cc84eca2f875736",a.callServer,void 0,a.findSourceMapURL,"setJevModeAction");var o=e.i(55574);let c=[{value:"typesafe",label:"typesafe"},{value:"openrouter",label:"openrouter"},{value:"vercel",label:"vercel ai gateway"},{value:"cloudflare",label:"cloudflare workers ai"},{value:"custom",label:"custom endpoint"}],d=[{value:"enforce",label:"enforce — jev's verdict counts"},{value:"observe",label:"observe — log only, regex decides"},{value:"off",label:"off — keep this config, don't ask jev"}],u="failproofai";function h(e){return{provider:e.provider&&e.provider!==u?e.provider:"typesafe",baseUrl:e.baseUrl,accountId:e.accountId,mode:e.mode}}function m({id:e,label:s,hint:a,children:n}){return(0,t.jsxs)("div",{className:"set-field",children:[(0,t.jsx)("label",{className:"set-field-label",htmlFor:e,children:s}),n,a?(0,t.jsx)("span",{className:"set-hint",children:a}):null]})}e.s(["default",0,function({initial:e}){var a,f,v;let b,[p,x]=(0,s.useState)(e),[j,w]=(0,s.useState)(e?h(e):{provider:"typesafe",baseUrl:"",accountId:"",mode:"enforce"}),[g,y]=(0,s.useState)(""),[k,N]=(0,s.useState)(!1),[C,S]=(0,s.useState)(null),[M,A]=(0,s.useState)(!1),$=(0,s.useRef)(!0),I=(0,s.useRef)(!1),E=(0,s.useCallback)(async()=>{try{let e=await n();if(!$.current)return;x(e),I.current||w(h(e))}catch{}},[]);(0,s.useEffect)(()=>($.current=!0,E(),()=>{$.current=!1}),[E]),(0,s.useEffect)(()=>{let e=()=>void E();return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[E]);let R=(0,s.useCallback)((e,t)=>{I.current=!0,w(s=>({...s,[e]:t}))},[]),_=(0,s.useCallback)(async()=>{N(!0),S(null);try{let e=await i({provider:j.provider,baseUrl:j.baseUrl,accountId:j.accountId,mode:j.mode,token:g});if(!e.ok){S(e.problem),A(!0===e.needsToken);return}I.current=!1,A(!1),y(""),x(e.view),w(h(e.view)),(0,o.toast)(e.view.on?"jev is on.":"saved.")}catch{S("could not save that.")}finally{N(!1)}},[j,g]),F=(0,s.useCallback)(async e=>{N(!0),S(null);try{let t=await r(e);if(!t.ok)return void S(t.problem);I.current=!1,x(t.view),w(h(t.view)),(0,o.toast)("off"===e?"jev is off. hooks run the regex policies.":`jev is on, in ${e} mode.`)}catch{S("could not switch that.")}finally{N(!1)}},[]),D=(0,s.useCallback)(async()=>{N(!0),S(null),A(!1);try{let e=await l();if(!e.ok)return void S(e.problem);I.current=!1,y(""),x(e.view),w(h(e.view)),(0,o.toast)("jev is off. hooks run the regex policies.")}catch{S("could not turn that off.")}finally{N(!1)}},[]),L=null!==p&&"absent"!==p.status,U=p?.provider===u,T=p?.token,q=M?"needed for this save — type the token for this endpoint":T?"cloud"===T.source?"from this machine's FailproofAI Cloud connection":"env"===T.source?"configured, read from the environment — leave blank to keep it":"configured — leave blank to keep it":p?.status==="key-missing"?"read from the environment, which is not set in this shell — leave blank to keep it that way":"sent as a bearer token; stored owner-only at 0600";return(0,t.jsxs)("div",{className:"set-cell set-jev",children:[(0,t.jsx)("h2",{className:"set-cell-title",children:"jev · semantic evaluation"}),(0,t.jsx)("div",{className:"set-row set-row-main",children:(0,t.jsxs)("div",{className:"set-row-copy",children:[(0,t.jsx)("span",{className:p?.on?"set-strong":"set-dim",children:null===p?"reading…":p.on?`on. every judged command is also asked of ${(a=p.provider)===u?"FailproofAI Cloud":a??""}.`:"off"===p.status?"off — switched off. hooks run the regex policies exactly as before.":"not-connected"===p.status?"off — this machine is not connected to FailproofAI Cloud. hooks run the regex policies.":"key-lacks-jev"===p.status?"off — no jev key is stored for this machine's FailproofAI Cloud connection. hooks run the regex policies.":"key-missing"===p.status?"off for this dashboard — FAILPROOFAI_JEV_API_KEY is not set in its environment. hooks run the regex policies wherever it is unset, including under the daemon; a session that sets it still consults jev.":"off. hooks run the regex policies exactly as before."}),(0,t.jsx)("span",{className:"set-dim",children:p?.on?"observe"===p.mode?"observe: jev's answers are logged, the regex result is what gets enforced.":"enforce: jev's answers can clear a reviewable deny.":U?"through FailproofAI Cloud, on your org's plan — no endpoint or token of your own.":"a second opinion on the commands the regex policies flag. needs your own endpoint and token."})]})}),p&&(0,t.jsx)("dl",{className:"set-how-list set-jev-cloud",children:(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"FailproofAI Cloud connection"}),(0,t.jsx)("dd",{className:"set-how-body",children:function(e){if(!e||!e.connected)return e?.jev==="yes"?"a jev key is stored, but no connection is":"not connected";let t=e.org??e.host??"connected",s="yes"===e.jev?"key carries jev":"refused"===e.jev?"jev key refused — credentials.json is not owner-only":"no jev key stored";return`connected to ${t} \xb7 ${s}`}(p.cloud)})]})}),p&&L&&(0,t.jsxs)("dl",{className:"set-how-list",children:[U&&(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"provider"}),(0,t.jsx)("dd",{className:"set-how-body",children:p.cloud?.host?`FailproofAI Cloud \xb7 ${p.cloud.host}`:"FailproofAI Cloud"})]}),(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"model"}),(0,t.jsx)("dd",{className:"set-how-body",children:function(e){switch(e.kind){case"id":return e.id;case"withheld":return"set to something that is not a model id — not shown here, in case it is a key";default:return"the provider's default"}}(p.model)})]}),(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"token"}),(0,t.jsx)("dd",{className:"set-how-body",children:T?"cloud"===T.source?"FailproofAI Cloud connection":"env"===T.source?"from FAILPROOFAI_JEV_API_KEY":"configured":U?p.cloud?.connected?"none stored for this connection":"none — this machine is not connected":"none stored"})]}),p.reviewable&&(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"reviewable"}),(0,t.jsx)("dd",{className:"set-how-body",children:p.reviewable.summary})]}),p.stats&&p.stats.total>0&&(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:"fallbacks"}),(0,t.jsx)("dd",{className:"set-how-body",children:`${(f=p.stats.fallbackRate,`${Math.round(100*f)}%`)} of ${p.stats.total} calls in the last ${Number.isInteger(b=(v=p.stats.windowMs)/36e5)&&b>=1?b%24==0?`${b/24}d`:`${b}h`:`${Math.max(1,Math.round(v/6e4))}m`} fell back to the regex engine.`})]})]}),p?.problem&&(0,t.jsxs)("p",{className:"set-warn",children:[p.problem,p.fix?` — ${p.fix}`:""]}),p?.reviewable?.problem&&(0,t.jsx)("p",{className:"set-warn",children:p.reviewable.problem}),(0,t.jsx)("div",{className:"set-rule"}),U?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"set-jev-fields",children:(0,t.jsx)(m,{id:"jev-cloud-mode",label:"mode",hint:"the endpoint and key come from this machine's FailproofAI Cloud connection",children:(0,t.jsx)("select",{id:"jev-cloud-mode",className:"set-select",value:p?.mode==="enforce"?"enforce":"observe",disabled:k||p?.mode==="off",onChange:e=>void F("enforce"===e.target.value?"enforce":"observe"),children:d.filter(e=>"off"!==e.value).map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})})}),C&&(0,t.jsx)("p",{className:"set-warn",children:C}),(0,t.jsx)("div",{className:"set-actions set-jev-actions",children:(0,t.jsx)("button",{type:"button",className:"btn btn-press",disabled:k,onClick:()=>void F(p?.mode==="off"?"observe":"off"),children:k?"[ switching… ]":p?.mode==="off"?"[ turn jev on ]":"[ turn jev off ]"})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"set-jev-fields",children:[(0,t.jsx)(m,{id:"jev-provider",label:"provider",children:(0,t.jsx)("select",{id:"jev-provider",className:"set-select",value:j.provider,disabled:k,onChange:e=>R("provider",e.target.value),children:c.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})}),(0,t.jsx)(m,{id:"jev-url",label:"endpoint url",hint:["custom"===j.provider?"required — https, or http to localhost in observe mode":"leave blank for the provider's own api",p?.baseUrlQueryWithheld?"the stored url's query string is not shown here — leave the url as it is to keep it":null].filter(Boolean).join(" · "),children:(0,t.jsx)("input",{id:"jev-url",type:"text",className:"set-text",inputMode:"url",autoComplete:"off",spellCheck:!1,placeholder:"custom"===j.provider?"https://…":"the provider's own api",value:j.baseUrl,disabled:k,onChange:e=>R("baseUrl",e.target.value)})}),"cloudflare"===j.provider&&(0,t.jsx)(m,{id:"jev-account",label:"account id",hint:"32 lowercase hex characters",children:(0,t.jsx)("input",{id:"jev-account",type:"text",className:"set-text",autoComplete:"off",spellCheck:!1,value:j.accountId,disabled:k,onChange:e=>R("accountId",e.target.value)})}),(0,t.jsx)(m,{id:"jev-token",label:"token",hint:q,children:(0,t.jsx)("input",{id:"jev-token",type:"password",className:"set-text",autoComplete:"off",spellCheck:!1,placeholder:T?"•••• kept":"",value:g,disabled:k,"aria-invalid":M||void 0,onChange:e=>{I.current=!0,y(e.target.value)}})}),(0,t.jsx)(m,{id:"jev-mode",label:"mode",children:(0,t.jsx)("select",{id:"jev-mode",className:"set-select",value:j.mode,disabled:k,onChange:e=>R("mode",e.target.value),children:d.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})})]}),C&&(0,t.jsx)("p",{className:"set-warn",children:C}),(0,t.jsxs)("div",{className:"set-actions set-jev-actions",children:[(0,t.jsx)("button",{type:"button",className:"btn btn-press",disabled:k,onClick:()=>void _(),children:k?"[ saving… ]":L?"[ save changes ]":"[ turn jev on ]"}),L&&(0,t.jsx)("button",{type:"button",className:"set-link",disabled:k,onClick:()=>void D(),children:"turn jev off"})]})]})]})}],2917)},93237,e=>{var t=e.i(43476),s=e.i(71645),a=e.i(95187);let n=(0,a.createServerReference)("0001953c5af243a11547577ef82018061ce3259b2e",a.callServer,void 0,a.findSourceMapURL,"getScheduledAuditAction"),l=(0,a.createServerReference)("40c9442f8916b211fed78371a2bff660dea301ef3c",a.callServer,void 0,a.findSourceMapURL,"setAutoAuditAction"),i=(0,a.createServerReference)("406b9805673a46697a80acba35ac964f3ef5e62a4f",a.callServer,void 0,a.findSourceMapURL,"setAuditIntervalAction");var r=e.i(86616),o=e.i(64237),c=e.i(55574),d=e.i(34713);function u(e){return new Date(e).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function h(e,t){let s=e-t;if(s<=0)return"now";let a=Math.floor(s/864e5),n=Math.floor(s%864e5/36e5);return a>0?n>0?`${a}d ${n}h`:`${a}d`:n>0?`${n}h`:`${Math.max(1,Math.floor(s/6e4))}m`}function m(e){return e.toLocaleString("en-US")}function f({label:e,value:s,sub:a,tone:n}){return(0,t.jsxs)("div",{className:"set-stat",children:[(0,t.jsx)("div",{className:"set-stat-label",children:e}),(0,t.jsx)("div",{className:`set-stat-value${n?` ${n}`:""}`,children:s}),(0,t.jsx)("div",{className:"set-stat-sub",children:a??" "})]})}function v({lastRunAtMs:e,nextDueAtMs:s,now:a}){if(null==e||null==s||s<=e)return null;let n=Math.min(100,Math.max(0,(a-e)/(s-e)*100));return(0,t.jsxs)("div",{className:"tape","aria-hidden":"true",children:[(0,t.jsxs)("div",{className:"tape-rail",children:[(0,t.jsx)("div",{className:"tape-fill",style:{width:`${n}%`}}),(0,t.jsx)("div",{className:"tape-now",style:{left:`${n}%`}})]}),(0,t.jsxs)("div",{className:"tape-ends",children:[(0,t.jsxs)("span",{children:["last scan · ",u(e)]}),(0,t.jsxs)("span",{className:"tape-next",children:["next · ",h(s,a)]})]})]})}function b({enabled:e,onChange:s,disabled:a,label:n}){return(0,t.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":n,disabled:a,onClick:s,className:"sw","data-on":e?"true":"false",children:(0,t.jsx)("span",{className:"sw-knob"})})}let p=[{label:"reads",body:"every session transcript on disk — your prompts, the files your agents read and wrote, and command output."},{label:"runs",body:"entirely on this machine. the transcripts never leave it."},{label:"sends",body:"counts, redacted examples, and this machine's name — and only when a scan finds something harmful."}];e.s(["default",0,function({initial:e,jevPanel:a}){let[x,j]=(0,s.useState)(e),[w,g]=(0,s.useState)(e?.auto??!1),[y,k]=(0,s.useState)(e?.intervalDays??7),[N,C]=(0,s.useState)(!1),[S,M]=(0,s.useState)(!1),[A,$]=(0,s.useState)(!1),[I,E]=(0,s.useState)(null===e),[R,_]=(0,s.useState)(0),F=(0,s.useRef)(!0),D=(0,s.useRef)(null!==e),L=(0,s.useCallback)(async()=>{try{let e=await n();if(!F.current)return;j(e),D.current=!0,g(e.auto),k(e.intervalDays),_(Date.now()),E(!1)}catch{F.current&&!D.current&&E(!0)}},[]);(0,s.useEffect)(()=>(F.current=!0,L(),()=>{F.current=!1}),[L]),(0,s.useEffect)(()=>{let e=()=>void L();return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[L]);let U=x?.signedInAs??null,T=x?.daemon==="running",q=x?.daemon==="unsupported-platform",O=x?.schedule??null,P=x?.lastScan??null,J=O?.lastExitCode!=null&&0!==O.lastExitCode&&75!==O.lastExitCode,B=(0,s.useCallback)(async()=>{C(!0);try{let e=await l(!0);if(!e.ok){if(g(!1),"unreachable"===e.reason)return void(0,c.toast)("could not reach the server. check your connection and try again.");await L(),$(!0),(0,c.toast)("that sign-in expired. one more code and it's on.");return}g(e.auto),(0,c.toast)("scheduled audits on."),await L()}catch{g(!1),(0,c.toast)("could not turn that on.")}finally{C(!1)}},[L]),K=(0,s.useCallback)(async()=>{if(w){C(!0);try{let e=await l(!1);e.ok&&g(e.auto),(0,c.toast)("scheduled audits off."),await L()}catch{(0,c.toast)("could not turn that off.")}finally{C(!1)}return}U?await B():$(!0)},[w,B,L,U]),V=(0,s.useCallback)(async e=>{C(!0);try{let t=await i(e);k(t.intervalDays),j(e=>e?{...e,intervalDays:t.intervalDays}:e),(0,c.toast)(`scanning every ${t.intervalDays} day${1===t.intervalDays?"":"s"}.`)}catch{k(x?.intervalDays??7),(0,c.toast)("could not save that.")}finally{C(!1)}},[x?.intervalDays]),Y=(0,s.useCallback)(async()=>{C(!0);try{await fetch("/api/auth/logout",{method:"POST"}),(0,c.toast)("signed out. scans continue; digests pause."),await L()}catch{(0,c.toast)("could not sign out.")}finally{C(!1)}},[L]),H=(0,s.useCallback)(async()=>{if(!S){M(!0);try{await (0,r.s)({cli:[],since:"all",noCache:!1}),(0,c.toast)("scan complete."),await L()}catch(e){(0,c.toast)(e instanceof r.t&&"timeout"===e.kind?"the scan is taking a while — it will finish in the background.":"the scan could not be completed.")}finally{M(!1)}}},[L,S]),Q=(0,s.useCallback)(async e=>{$(!1),await L(),await B()},[B,L]),W=x?T?{value:"running",sub:null!=x.daemonStartedAtMs&&R>0?`up ${function(e){let t=Math.floor(e/864e5);if(t>0)return`${t}d`;let s=Math.floor(e/36e5);return s>0?`${s}h`:`${Math.max(1,Math.floor(e/6e4))}m`}(Math.max(0,R-x.daemonStartedAtMs))}`:"",tone:"ok"}:q?{value:"unavailable",sub:"not on this platform"}:"not-installed"===x.daemon?{value:"not installed",sub:"run failproofai config",tone:"warn"}:"unknown"===x.daemon?{value:"unknown",sub:"could not read it"}:{value:"stopped",sub:"run failproofai config",tone:"warn"}:{value:"…",sub:"reading"},z=w?O?.nextDueAtMs==null?{value:"pending",sub:"after the next scan"}:{value:R>0?h(O.nextDueAtMs,R):"—",sub:u(O.nextDueAtMs)}:{value:"off",sub:"nothing scheduled"},G=P?{value:(0,d.g)(Date.parse(P.finishedAt)),sub:null!=P.sessionsScanned?`${m(P.sessionsScanned)} sessions`:"scanned"}:{value:"none yet",sub:"run one below"},X=P?null==P.findings?{value:"—",sub:"unreadable"}:{value:m(P.findings),sub:"this scan",...P.findings>0?{tone:"warn"}:{}}:{value:"—",sub:"no scan yet"};return(0,t.jsxs)("main",{className:"report",children:[(0,t.jsxs)("section",{className:"section set-sec",children:[(0,t.jsxs)("div",{className:"set-mast",children:[(0,t.jsx)("h1",{className:"set-title",children:"settings"}),(0,t.jsx)("p",{className:"set-lede",children:"keeping watch, so you don't have to."})]}),I?(0,t.jsxs)("div",{className:"set-console",children:[(0,t.jsx)("div",{className:"set-cell",children:(0,t.jsxs)("p",{className:"set-warn",children:["could not read this machine's settings. check that the dashboard can reach ",(0,t.jsx)("code",{children:"~/.failproofai/config.json"}),"."]})}),a]}):(0,t.jsxs)("div",{className:"set-console",children:[(0,t.jsxs)("div",{className:"set-stats",children:[(0,t.jsx)(f,{label:"daemon",...W}),(0,t.jsx)(f,{label:"next scan",...z}),(0,t.jsx)(f,{label:"last scan",...G}),(0,t.jsx)(f,{label:"findings",...X})]}),(0,t.jsxs)("div",{className:"set-cols",children:[(0,t.jsxs)("div",{className:"set-cell set-config",children:[(0,t.jsx)("h2",{className:"set-cell-title",children:"scheduled audit"}),(0,t.jsxs)("div",{className:"set-row set-row-main",children:[(0,t.jsx)(b,{enabled:w,disabled:N||null===x,onChange:()=>void K(),label:w?"turn off scheduled audits":"turn on scheduled audits"}),(0,t.jsxs)("div",{className:"set-row-copy",children:[(0,t.jsx)("span",{className:"set-strong",children:w?"scanning on a schedule.":"scan on a schedule."}),(0,t.jsx)("span",{className:"set-dim",children:w?"you'll get an email only when a scan finds something.":"off. nothing runs and nothing is sent."})]})]}),(0,t.jsxs)("div",{className:"set-row set-row-interval",children:[(0,t.jsx)("span",{className:"set-dim",children:"scan every"}),(0,t.jsx)("input",{type:"number",className:"set-num",min:1,max:90,value:y,disabled:N||null===x,"aria-label":"days between scheduled scans",onChange:e=>k(Number(e.target.value)),onBlur:e=>{let t=Number(e.target.value);Number.isFinite(t)?t!==x?.intervalDays&&V(t):k(x?.intervalDays??7)}}),(0,t.jsx)("span",{className:"set-dim",children:"days"}),(0,t.jsxs)("span",{className:"set-hint",children:[1,"–",90]})]}),(0,t.jsx)("div",{className:"set-rule"}),(0,t.jsx)("div",{className:"set-row set-row-identity",children:U?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"set-dim",children:"reports go to"}),(0,t.jsx)("span",{className:"set-email",children:U.email}),(0,t.jsx)("button",{type:"button",className:"set-link",disabled:N,onClick:()=>void Y(),children:"sign out"})]}):w?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"set-warn",children:"signed out — scans continue, digests are paused."}),(0,t.jsx)("button",{type:"button",className:"set-link",disabled:N,onClick:()=>$(!0),children:"sign in to resume"})]}):(0,t.jsx)("span",{className:"set-dim",children:"turning this on asks for an email, so there is somewhere to send the report."})}),w&&x&&!T&&(0,t.jsx)("p",{className:"set-warn",children:q?"the background service isn't available on this platform, so scheduled scans can't run here. you can still run one now.":"not-installed"===x.daemon?"the background service isn't installed, so nothing will run on the timer. install it with `failproofai config`.":"the background service is stopped, so nothing will run until it starts. repair it with `failproofai config`."}),J&&(0,t.jsxs)("p",{className:"set-warn",children:["the last scheduled scan exited ",O?.lastExitCode,". the next one will still run."]}),(0,t.jsx)("div",{className:"set-actions",children:(0,t.jsx)("button",{type:"button",className:"btn btn-press",disabled:S,onClick:()=>void H(),children:S?"[ scanning… ]":"[ run a scan now ]"})})]}),(0,t.jsxs)("div",{className:"set-cell set-how",children:[(0,t.jsx)("h2",{className:"set-cell-title",children:"how it works"}),(0,t.jsx)("dl",{className:"set-how-list",children:p.map(e=>(0,t.jsxs)("div",{className:"set-how-row",children:[(0,t.jsx)("dt",{className:"set-how-label",children:e.label}),(0,t.jsx)("dd",{className:"set-how-body",children:e.body})]},e.label))})]})]}),a]}),w&&R>0&&(0,t.jsx)(v,{lastRunAtMs:O?.lastRunAtMs??null,nextDueAtMs:O?.nextDueAtMs??null,now:R})]}),(0,t.jsx)(o.f,{open:A,source:"settings_scheduled_audit",headline:"where should the report go?",subhead:"we'll send a one-time code to confirm.",onClose:()=>$(!1),onAuthed:e=>void Q(e)})]})}],93237)},29054,e=>{e.s(["q",0,function(e,t={},s=15e3){let a=AbortSignal.timeout(s),n=t.signal?AbortSignal.any([t.signal,a]):a;return fetch(e,{...t,signal:n})},"c",0,function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}])},34713,e=>{e.s(["M",0,function(e){if(e<1e3)return`${e}ms`;let t=Math.round(e/100);if(t<600)return`${(t/10).toFixed(1)}s`;let s=Math.round(e/1e3);if(s<3600){let e=Math.floor(s/60);return`${e}m ${s%60}s`}let a=Math.round(e/6e4),n=Math.floor(a/60);return`${n}h ${a%60}m`},"g",0,function(e){let t=Date.now()-e;return t<6e4?`${Math.max(1,Math.floor(t/1e3))}s ago`:t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}])}])})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,90809,(e,n,t)=>{function r(e){if("function"!=typeof WeakMap)return null;var n=new WeakMap,t=new WeakMap;return(r=function(e){return e?t:n})(e)}t._=function(e,n){if(!n&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=r(n);if(t&&t.has(e))return t.get(e);var l={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var a=o?Object.getOwnPropertyDescriptor(e,u):null;a&&(a.get||a.set)?Object.defineProperty(l,u,a):l[u]=e[u]}return l.default=e,t&&t.set(e,l),l}},32120,(e,n,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return r.callServer}});let r=e.r(48658);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},92245,(e,n,t)=>{let r;e.i(47167),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findSourceMapURL",{enumerable:!0,get:function(){return r}});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},88540,(e,n,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r,l,o={ACTION_HMR_REFRESH:function(){return c},ACTION_NAVIGATE:function(){return i},ACTION_REFRESH:function(){return a},ACTION_RESTORE:function(){return s},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return f},PrefetchKind:function(){return p},ScrollBehavior:function(){return v}};for(var u in o)Object.defineProperty(t,u,{enumerable:!0,get:o[u]});let a="refresh",i="navigate",s="restore",f="server-patch",c="hmr-refresh",d="server-action";var p=((r={}).AUTO="auto",r.FULL="full",r),v=((l={})[l.Default=0]="Default",l[l.NoScroll=1]="NoScroll",l);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},41538,(e,n,t)=>{e.i(47167),Object.defineProperty(t,"__esModule",{value:!0});var r={dispatchAppRouterAction:function(){return s},dispatchGestureState:function(){return c},refreshOnInstantNavigationUnlock:function(){return i},useActionQueue:function(){return d}};for(var l in r)Object.defineProperty(t,l,{enumerable:!0,get:r[l]});let o=e.r(90809)._(e.r(71645)),u=e.r(13016);e.r(88540);let a=null;function i(){}function s(e){if(null===a)throw Error("Internal Next.js error: Router action dispatched before initialization.");a(e)}let f=null;function c(e){if(null===f)throw Error("Internal Next.js error: Router action dispatched before initialization.");f(e)}function d(e){let[n,t]=o.default.useState(e.state),[r,l]=(0,o.useOptimistic)(n);"u">typeof window&&(f=l),"u">typeof window&&(a=n=>e.dispatch(n,t));let i=(0,o.useMemo)(()=>r,[r]);return(0,u.isThenable)(i)?(0,o.use)(i):i}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},48658,(e,n,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return u}});let r=e.r(71645),l=e.r(88540),o=e.r(41538);async function u(e,n){return new Promise((t,u)=>{(0,r.startTransition)(()=>{(0,o.dispatchAppRouterAction)({type:l.ACTION_SERVER_ACTION,actionId:e,actionArgs:n,resolve:t,reject:u})})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},18800,(e,n,t)=>{var r=e.r(71645);function l(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)n+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(){}var u={d:{f:o,r:function(){throw Error(l(522))},D:o,C:o,L:o,m:o,X:o,S:o,M:o},p:0,findDOMNode:null},a=Symbol.for("react.portal"),i=Symbol.for("react.recoverable"),s=Symbol.for("react.optimistic_key"),f=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,n){return"font"===e?"":"string"==typeof n?"use-credentials"===n?n:"":void 0}t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=u,t.browser=function(e){return{$$typeof:i,_reason:e}},t.createPortal=function(e,n){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!n||1!==n.nodeType&&9!==n.nodeType&&11!==n.nodeType)throw Error(l(299));return function(e,n,t){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:a,key:null==r?null:r===s?s:""+r,children:e,containerInfo:n,implementation:t}}(e,n,null,t)},t.flushSync=function(e){var n=f.T,t=u.p;try{if(f.T=null,u.p=2,e)return e()}finally{f.T=n,u.p=t,u.d.f()}},t.preconnect=function(e,n){"string"==typeof e&&(n=n?"string"==typeof(n=n.crossOrigin)?"use-credentials"===n?n:"":void 0:null,u.d.C(e,n))},t.prefetchDNS=function(e){"string"==typeof e&&u.d.D(e)},t.preinit=function(e,n){if("string"==typeof e&&n&&"string"==typeof n.as){var t=n.as,r=c(t,n.crossOrigin),l="string"==typeof n.integrity?n.integrity:void 0,o="string"==typeof n.fetchPriority?n.fetchPriority:void 0;"style"===t?u.d.S(e,"string"==typeof n.precedence?n.precedence:void 0,{crossOrigin:r,integrity:l,fetchPriority:o}):"script"===t&&u.d.X(e,{crossOrigin:r,integrity:l,fetchPriority:o,nonce:"string"==typeof n.nonce?n.nonce:void 0})}},t.preinitModule=function(e,n){if("string"==typeof e)if("object"==typeof n&&null!==n){if(null==n.as||"script"===n.as){var t=c(n.as,n.crossOrigin);u.d.M(e,{crossOrigin:t,integrity:"string"==typeof n.integrity?n.integrity:void 0,nonce:"string"==typeof n.nonce?n.nonce:void 0,fetchPriority:"string"==typeof n.fetchPriority?n.fetchPriority:void 0})}}else null==n&&u.d.M(e)},t.preload=function(e,n){if("string"==typeof e&&"object"==typeof n&&null!==n&&"string"==typeof n.as){var t=n.as,r=c(t,n.crossOrigin);u.d.L(e,t,{crossOrigin:r,integrity:"string"==typeof n.integrity?n.integrity:void 0,nonce:"string"==typeof n.nonce?n.nonce:void 0,type:"string"==typeof n.type?n.type:void 0,fetchPriority:"string"==typeof n.fetchPriority?n.fetchPriority:void 0,referrerPolicy:"string"==typeof n.referrerPolicy?n.referrerPolicy:void 0,imageSrcSet:"string"==typeof n.imageSrcSet?n.imageSrcSet:void 0,imageSizes:"string"==typeof n.imageSizes?n.imageSizes:void 0,media:"string"==typeof n.media?n.media:void 0})}},t.preloadModule=function(e,n){if("string"==typeof e)if(n){var t=c(n.as,n.crossOrigin);u.d.m(e,{as:"string"==typeof n.as&&"script"!==n.as?n.as:void 0,crossOrigin:t,integrity:"string"==typeof n.integrity?n.integrity:void 0,nonce:"string"==typeof n.nonce?n.nonce:void 0,fetchPriority:"string"==typeof n.fetchPriority?n.fetchPriority:void 0})}else u.d.m(e)},t.requestFormReset=function(e){u.d.r(e)},t.unstable_batchedUpdates=function(e,n){return e(n)},t.useFormState=function(e,n,t){return f.H.useFormState(e,n,t)},t.useFormStatus=function(){return f.H.useHostTransitionStatus()},t.version="19.3.0-canary-278794d7-20261002"},74080,(e,n,t)=>{e.i(47167),!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),n.exports=e.r(18800)},64893,(e,n,t)=>{var r=e.r(74080);function l(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)n+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o={stream:!0},u=Object.prototype.hasOwnProperty;function a(n){var t=e.r(n);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}var i=new WeakSet,s=new WeakSet;function f(){}function c(n){for(var t=n[1],r=[],l=0;l<t.length;l++){var o=e.L(t[l]);if(s.has(o)||r.push(o),!i.has(o)){var u=s.add.bind(s,o);o.then(u,f),i.add(o)}}return 4===n.length?0===r.length?a(n[0]):Promise.all(r).then(function(){return a(n[0])}):0<r.length?Promise.all(r):null}function d(n){var t=e.r(n[0]);if(4===n.length&&"function"==typeof t.then)if("fulfilled"===t.status)t=t.value;else throw t.reason;return"*"===n[2]?t:""===n[2]?t.__esModule?t.default:t:u.call(t,n[2])?t[n[2]]:void 0}var p=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v=Symbol.for("react.transitional.element"),y=Symbol.for("react.lazy"),h=Symbol.iterator,g=Symbol.asyncIterator,_=Array.isArray,b=Object.getPrototypeOf,w=Object.prototype,m=new WeakMap;function O(e,n,t){m.has(e)||m.set(e,{id:n,originalBind:e.bind,bound:t})}var S=Object.prototype,k=Array.prototype,A=Symbol();function j(e,n,t){this.status=e,this.value=n,this.reason=t}function R(e){switch(e.status){case"resolved_model":F(e);break;case"resolved_module":x(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"pending_weak":case"blocked":case"halted":throw e;default:throw e.reason}}function E(e,n,t,r){for(var l=0;l<n.length;l++){var o=n[l];"function"==typeof o?o(t):G(e,o,t)}}function P(e,n,t){for(var r=0;r<n.length;r++){var l=n[r];"function"==typeof l?l(t):J(e,l.handler,t)}}function $(e,n){var t=n.handler.chunk;if(null===t)return null;if(t===e)return n.handler;if(null!==(n=t.value))for(t=0;t<n.length;t++){var r=n[t];if("function"!=typeof r&&null!==(r=$(e,r)))return r}return null}function T(e,n,t,r){switch(n.status){case"fulfilled":E(e,t,n.value,n);break;case"blocked":for(var l=0;l<t.length;l++){var o=t[l];if("function"!=typeof o){var u=$(n,o);if(null!==u)switch(G(e,o,u.value),t.splice(l,1),l--,null!==r&&-1!==(o=r.indexOf(o))&&r.splice(o,1),n.status){case"fulfilled":E(e,t,n.value,n);return;case"rejected":null!==r&&P(e,r,n.reason);return}}}case"pending":if(n.value)for(e=0;e<t.length;e++)n.value.push(t[e]);else n.value=t;if(n.reason){if(r)for(t=0;t<r.length;t++)n.reason.push(r[t])}else n.reason=r;break;case"rejected":r&&P(e,r,n.reason)}}function D(e,n,t){if("pending"!==n.status&&"pending_weak"!==n.status&&"blocked"!==n.status)n.reason.error(t);else{var r=n.reason;n.status="rejected",n.reason=t,null!==r&&P(e,r,t)}}function M(e,n){var t={};return new j("resolved_model",n,(t[A]=e,t))}function N(e,n,t){var r={};return new j("resolved_model",(t?'{"done":true,"value":':'{"done":false,"value":')+n+"}",(r[A]=e,r))}function C(e,n,t,r){I(e,n,(r?'{"done":true,"value":':'{"done":false,"value":')+t+"}")}function I(e,n,t){if("pending"!==n.status&&"pending_weak"!==n.status)n.reason.enqueueModel(t);else{var r=n.value,l=n.reason;n.status="resolved_model",n.value=t,(t={})[A]=e,n.reason=t,null!==r&&(F(n),T(e,n,r,l))}}function L(e,n,t){if("pending"===n.status||"pending_weak"===n.status||"blocked"===n.status){var r=n.value,l=n.reason;n.status="resolved_module",n.value=t,n.reason=null,null!==r&&(x(n),T(e,n,r,l))}}j.prototype=Object.create(Promise.prototype),Object.defineProperty(j.prototype,"then",{writable:!0,enumerable:!0,configurable:!0,value:function(e,n){switch(this.status){case"resolved_model":F(this);break;case"resolved_module":x(this)}switch(this.status){case"fulfilled":"function"==typeof e&&e(this.value);break;case"pending":case"pending_weak":case"blocked":"function"==typeof e&&(null===this.value&&(this.value=[]),this.value.push(e)),"function"==typeof n&&(null===this.reason&&(this.reason=[]),this.reason.push(n));break;case"halted":break;default:"function"==typeof n&&n(this.reason)}}});var U=null;function F(e){var n=U;U=null;var t=e.value,r=e.reason[A];e.status="blocked",e.value=null,e.reason=null;try{var l=ev(r,t);if(t=U,null!==t){if(t.errored){"blocked"===e.status&&D(r,e,t.reason);return}t.value=l,t.chunk=e}var o=e.value,u=e.reason;if(e.value=null,e.reason=null,null!==o){for(var a=null,i=null,s=0;s<o.length;s++){var f=o[s];if("function"!=typeof f&&null!==$(e,f)){if(null===a&&(a=[]),a.push(f),null!==u){var c=u.indexOf(f);-1!==c&&u.splice(c,1)}}else null===i&&(i=[]),i.push(f)}if(null!==i&&(e.value=i,e.reason=u),null!==a)for(o=0;o<a.length;o++)G(r,a[o],l)}"blocked"!==e.status||null!==t&&0<t.deps||q(r,e,l,null)}catch(n){e.status="rejected",e.reason=n}finally{U=n}}function x(e){try{var n=d(e.value);e.status="fulfilled",e.value=n,e.reason=null}catch(n){e.status="rejected",e.reason=n}}function B(e,n){e._closed=!0,e._closedReason=n,e._chunks.forEach(function(t){"pending"===t.status?D(e,t,n):"fulfilled"===t.status&&null!==t.reason&&t.reason.error(n)})}function H(e){return{$$typeof:y,_payload:e,_init:R}}function V(e,n){var t=e._chunks,r=t.get(n);return r||(r=e._closed?e._allowPartialStream?new j("halted",null,null):new j("rejected",null,e._closedReason):new j("pending",null,null),t.set(n,r)),r}function q(e,n,t,r){var l=n.value;n.status="fulfilled",n.value=t,n.reason=r,null!==l&&E(e,l,t,n)}function W(e,n){if(0===n.deps&&!n.errored){var t=n.chunk;null!==t&&"blocked"===t.status&&q(e,t,n.value,n.reason)}}function G(e,n,t){var r=n.handler,o=n.parentObject,a=n.key,i=n.map,s=n.path;try{for(var f=1;f<s.length;f++){for(;"object"==typeof t&&null!==t&&t.$$typeof===y;){var c=t._payload;if(c===r.chunk)t=r.value;else{switch(c.status){case"resolved_model":F(c);break;case"resolved_module":x(c)}switch(c.status){case"fulfilled":t=c.value;continue;case"blocked":var d=$(c,n);if(null!==d){t=d.value;continue}case"pending":case"pending_weak":s.splice(0,f-1),null===c.value?c.value=[n]:c.value.push(n),null===c.reason?c.reason=[n]:c.reason.push(n);return;case"halted":return;default:J(e,n.handler,c.reason);return}}}var p=s[f];if("object"==typeof t&&null!==t&&u.call(t,p))t=t[p];else throw Error(l(570))}for(;"object"==typeof t&&null!==t&&t.$$typeof===y;){var h=t._payload;if(h===r.chunk)t=r.value;else{switch(h.status){case"resolved_model":F(h);break;case"resolved_module":x(h)}if("fulfilled"===h.status){t=h.value;continue}break}}var g=i(e,t,o,a);if("__proto__"!==a&&(o[a]=g),""===a&&null===r.value&&(r.value=g),o[0]===v&&"object"==typeof r.value&&null!==r.value&&r.value.$$typeof===v){var _=r.value;"3"===a&&(_.props=g)}}catch(t){J(e,n.handler,t);return}r.deps--,W(e,r)}function J(e,n,t){n.errored||(n.errored=!0,n.value=null,n.reason=t,null!==(n=n.chunk)&&"blocked"===n.status&&D(e,n,t))}function K(e,n,t,r,l,o){return U?(r=U,r.deps++):r=U={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},n={handler:r,parentObject:n,key:t,map:l,path:o},null===e.value?e.value=[n]:e.value.push(n),null===e.reason?e.reason=[n]:e.reason.push(n),null}function z(e,n,t,r){if("then"===r)return null;var o=n.id;if("string"!=typeof o)return null;if(!e._serverReferenceConfig)return function(e,n){function t(){var e=Array.prototype.slice.call(arguments);return l?"fulfilled"===l.status?n(r,l.value.concat(e)):Promise.resolve(l).then(function(t){return n(r,t.concat(e))}):n(r,e)}var r=e.id,l=e.bound;return O(t,r,l),t}(n,e._callServer);var u=function(e,n){var t="",r=e[n];if(r)t=r.name;else{var o=n.lastIndexOf("#");if(-1!==o&&(t=n.slice(o+1),r=e[n.slice(0,o)]),!r)throw Error(l(589,n))}return r.async?[r.id,r.chunks,t,1]:[r.id,r.chunks,t]}(e._serverReferenceConfig,o),a=n.bound;if(n=c(u))a instanceof j&&(n=Promise.all([n,a]));else{if(!(a instanceof j))return O(n=d(u),o,a),n;n=Promise.resolve(a)}if(U){var i=U;i.deps++}else i=U={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return n.then(function(){var n=d(u);if(a){var l=a.value;(l=_(l)?l.slice(0):[]).unshift(null),n=n.bind.apply(n,l)}O(n,o,a),"__proto__"!==r&&(t[r]=n),""===r&&null===i.value&&(i.value=n),t[0]===v&&"object"==typeof i.value&&null!==i.value&&i.value.$$typeof===v&&(l=i.value,"3"===r)&&(l.props=n),i.deps--,W(e,i)},function(n){if(!i.errored){var t=i;t.errored=!0,t.value=null,t.reason=n,null!==(t=i.chunk)&&"blocked"===t.status&&D(e,t,n)}}),null}var X=[];function Q(e,n,t,r,o){var a=parseInt(n,16);switch(n=-1===n.indexOf(":")?X:n.split(":"),(a=V(e,a)).status){case"resolved_model":F(a);break;case"resolved_module":x(a)}switch(a.status){case"fulfilled":a=a.value;for(var i=1;i<n.length;i++){for(;"object"==typeof a&&null!==a&&a.$$typeof===y;){switch((a=a._payload).status){case"resolved_model":F(a);break;case"resolved_module":x(a)}switch(a.status){case"fulfilled":a=a.value;break;case"blocked":case"pending":case"pending_weak":return K(a,t,r,e,o,n.slice(i-1));case"halted":return U?(e=U,e.deps++):U={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return U?((e=U).errored=!0,e.value=null,e.reason=a.reason):U={parent:null,chunk:null,value:null,reason:a.reason,deps:0,errored:!0},null}}var s=n[i];if("object"!=typeof a||null===a||b(a)!==S&&b(a)!==k||!u.call(a,s))throw Error(l(570));a=a[s]}for(;"object"==typeof a&&null!==a&&a.$$typeof===y;){switch((n=a._payload).status){case"resolved_model":F(n);break;case"resolved_module":x(n)}if("fulfilled"===n.status){a=n.value;continue}break}return o(e,a,t,r);case"pending":case"pending_weak":case"blocked":return K(a,t,r,e,o,n);case"halted":return U?(e=U,e.deps++):U={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return U?((e=U).errored=!0,e.value=null,e.reason=a.reason):U={parent:null,chunk:null,value:null,reason:a.reason,deps:0,errored:!0},null}}function Y(e,n){return new Map(n)}function Z(e,n){return new Set(n)}function ee(e,n){return new Blob(n.slice(1),{type:n[0]})}function en(e,n){e=new FormData;for(var t=0;t<n.length;t++)e.append(n[t][0],n[t][1]);return e}function et(e,n){return n[Symbol.iterator]()}function er(e,n,t,r){return"then"===r&&"function"==typeof n?null:n}function el(){throw Error(l(466))}function eo(e,n,t,r,l,o,u,a){var i=new Map;this._bundlerConfig=e,this._serverReferenceConfig=n,this._moduleLoading=t,this._callServer=void 0!==r?r:el,this._encodeFormAction=l,this._nonce=o,this._chunks=i,this._stringDecoder=function(){return new TextDecoder("utf-8",{ignoreBOM:0<arguments.length&&void 0!==arguments[0]&&arguments[0]})}(!0),this._closed=!1,this._closedReason=null,this._allowPartialStream=a,this._tempRefs=u}function eu(e,n,t){var r=(e=e._chunks).get(n);r&&"pending"!==r.status?r.reason.enqueueValue(t):(t=new j("fulfilled",t,null),e.set(n,t))}function ea(e,n,t,r){var l=e._chunks,o=l.get(n);o?"pending"===o.status&&(n=o.value,o.status="fulfilled",o.value=t,o.reason=r,null!==n&&E(e,n,o.value,o)):(e=new j("fulfilled",t,r),l.set(n,e))}function ei(e,n,t){var r=null,l=!1;t=new ReadableStream({type:t,start:function(e){r=e}});var o=null;ea(e,n,t,{enqueueValue:function(e){null===o?r.enqueue(e):o.then(function(){r.enqueue(e)})},enqueueModel:function(n){if(null===o){var t=M(e,n);F(t),"fulfilled"===t.status?r.enqueue(t.value):(t.then(function(e){return r.enqueue(e)},function(e){return r.error(e)}),o=t)}else{t=o;var l=new j("pending",null,null);l.then(function(e){return r.enqueue(e)},function(e){return r.error(e)}),o=l,t.then(function(){o===l&&(o=null),I(e,l,n)})}},close:function(){if(!l)if(l=!0,null===o)r.close();else{var e=o;o=null,e.then(function(){return r.close()})}},error:function(e){if(!l)if(l=!0,null===o)r.error(e);else{var n=o;o=null,n.then(function(){return r.error(e)})}}})}function es(){return this}function ef(e,n,t){var r=[],o=!1,u=0,a={};a[g]=function(){var e,n=0;return(e={next:e=function(e){if(void 0!==e)throw Error(l(524));if(n===r.length){if(o)return new j("fulfilled",{done:!0,value:void 0},null);r[n]=new j("pending",null,null)}return r[n++]}})[g]=es,e},ea(e,n,t?a[g]():a,{enqueueValue:function(n){if(u===r.length)r[u]=new j("fulfilled",{done:!1,value:n},null);else{var t=r[u],l=t.value,o=t.reason;t.status="fulfilled",t.value={done:!1,value:n},t.reason=null,null!==l&&T(e,t,l,o)}u++},enqueueModel:function(n){u===r.length?r[u]=N(e,n,!1):C(e,r[u],n,!1),u++},close:function(n){if(!o)for(o=!0,u===r.length?r[u]=N(e,n,!0):C(e,r[u],n,!0),u++;u<r.length;)C(e,r[u++],'"$undefined"',!0)},error:function(n){if(!o)for(o=!0,u===r.length&&(r[u]=new j("pending",null,null));u<r.length;)D(e,r[u++],n)}})}function ec(){var e=Error(l(441));return e.stack="Error: "+e.message,e}function ed(e,n){for(var t=e.length,r=n.length,l=0;l<t;l++)r+=e[l].byteLength;r=new Uint8Array(r);for(var o=l=0;o<t;o++){var u=e[o];r.set(u,l),l+=u.byteLength}return r.set(n,l),r}function ep(e,n,t,r,l,o){eu(e,n,l=new l((t=0===t.length&&0==r.byteOffset%o?r:ed(t,r)).buffer,t.byteOffset,t.byteLength/o))}function ev(e,n){return function e(n,t,r,o){if("string"==typeof t)return"$"===t[0]?function(e,n,t,r){if("$"===r[0]){if("$"===r)return null!==U&&"0"===t&&(U={parent:U,chunk:null,value:null,reason:null,deps:0,errored:!1}),v;switch(r[1]){case"$":return r.slice(1);case"L":return H(e=V(e,n=parseInt(r.slice(2),16)));case"@":return V(e,n=parseInt(r.slice(2),16));case"w":case"H":case"u":return;case"S":return Symbol.for(r.slice(2));case"h":return Q(e,r=r.slice(2),n,t,z);case"T":if(n="$"+r.slice(2),null==(e=e._tempRefs))throw Error(l(511));return e.get(n);case"Q":return Q(e,r=r.slice(2),n,t,Y);case"W":return Q(e,r=r.slice(2),n,t,Z);case"B":return Q(e,r=r.slice(2),n,t,ee);case"K":return Q(e,r=r.slice(2),n,t,en);case"Z":return ec();case"i":return Q(e,r=r.slice(2),n,t,et);case"I":return 1/0;case"-":return"$-0"===r?-0:-1/0;case"N":return 0/0;case"D":return new Date(Date.parse(r.slice(2)));case"n":return BigInt(r.slice(2));default:return Q(e,r=r.slice(1),n,t,er)}}return r}(n,r,o,t):t;if("object"!=typeof t||null===t)return t;if(_(t)){for(var a=0;a<t.length;a++)t[a]=e(n,t[a],t,""+a);return t[0]===v?(t[0]===v?(n={$$typeof:v,type:t[1],key:t[2],ref:null,props:t[3]},null!==U&&(U=(t=U).parent,t.errored?n=H(n=new j("rejected",null,t.reason)):0<t.deps&&(a=new j("blocked",null,null),t.value=n,t.chunk=a,n=H(a)))):n=t,n):t}for(a in t)u.call(t,a)&&("__proto__"===a?delete t[a]:void 0!==(r=e(n,t[a],t,a))?t[a]=r:delete t[a]);return t}(e,n=JSON.parse(n),{"":n},"")}function ey(e){e._allowPartialStream?(e._closed=!0,e._chunks.forEach(function(e){"pending"===e.status?(e.status="halted",e.value=null,e.reason=null):"fulfilled"===e.status&&null!==e.reason&&e.reason.close('"$undefined"')})):B(e,Error(l(412)))}function eh(e){return new eo(null,null,null,e&&e.callServer?e.callServer:void 0,void 0,void 0,e&&e.temporaryReferences?e.temporaryReferences:void 0,!!e&&!!e.unstable_allowPartialStream&&e.unstable_allowPartialStream)}function eg(e,n,t){function r(n){B(e,n)}var u={_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]},a=n.getReader();a.read().then(function n(i){var s=i.value;if(i.done)return t();var f=0,d=u._rowState;i=u._rowID;for(var v=u._rowTag,y=u._rowLength,h=u._buffer,g=s.length;f<g;){var _=-1;switch(d){case 0:58===(_=s[f++])?d=1:i=i<<4|(96<_?_-87:_-48);continue;case 1:84===(d=s[f])||65===d||79===d||111===d||98===d||85===d||83===d||115===d||76===d||108===d||71===d||103===d||77===d||109===d||86===d?(v=d,d=2,f++):64<d&&91>d||35===d||114===d||120===d?(v=d,d=3,f++):(v=0,d=3);continue;case 2:44===(_=s[f++])?d=4:y=y<<4|(96<_?_-87:_-48);continue;case 3:_=s.indexOf(10,f);break;case 4:(_=f+y)>s.length&&(_=-1)}var b=s.byteOffset+f;if(-1<_)y=new Uint8Array(s.buffer,b,_-f),98===v?eu(e,i,_===g?y:y.slice()):function(e,n,t,r,u,a){switch(r){case 65:eu(e,t,ed(u,a).buffer);return;case 79:ep(e,t,u,a,Int8Array,1);return;case 111:eu(e,t,0===u.length?a:ed(u,a));return;case 85:ep(e,t,u,a,Uint8ClampedArray,1);return;case 83:ep(e,t,u,a,Int16Array,2);return;case 115:ep(e,t,u,a,Uint16Array,2);return;case 76:ep(e,t,u,a,Int32Array,4);return;case 108:ep(e,t,u,a,Uint32Array,4);return;case 71:ep(e,t,u,a,Float32Array,4);return;case 103:ep(e,t,u,a,Float64Array,8);return;case 77:ep(e,t,u,a,BigInt64Array,8);return;case 109:ep(e,t,u,a,BigUint64Array,8);return;case 86:ep(e,t,u,a,DataView,1);return}n=e._stringDecoder;for(var i="",s=0;s<u.length;s++)i+=n.decode(u[s],o);switch(u=i+=n.decode(a),r){case 73:!function(e,n,t){var r=e._chunks,o=r.get(n),u=U;U=null;try{var a=ev(e,t);if(null!==U)throw Error(l(608))}finally{U=u}var i=function(e,n){if(e){var t=e[n[0]];if(e=t&&t[n[2]])t=e.name;else{if(!(e=t&&t["*"]))throw Error(l(588,n[0]));t=n[2]}return 4===n.length?[e.id,e.chunks,t,1]:[e.id,e.chunks,t]}return n}(e._bundlerConfig,a);if(t=c(i)){if(o){var s=o;s.status="blocked"}else s=new j("blocked",null,null),r.set(n,s);t.then(function(){return L(e,s,i)},function(n){return D(e,s,n)})}else o?L(e,o,i):(o=new j("resolved_module",i,null),r.set(n,o))}(e,t,u);break;case 72:switch(t=u[0],e=ev(e,u=u.slice(1)),u=p.d,t){case"D":u.D(e);break;case"C":"string"==typeof e?u.C(e):u.C(e[0],e[1]);break;case"L":t=e[0],r=e[1],3===e.length?u.L(t,r,e[2]):u.L(t,r);break;case"m":"string"==typeof e?u.m(e):u.m(e[0],e[1]);break;case"X":"string"==typeof e?u.X(e):u.X(e[0],e[1]);break;case"S":"string"==typeof e?u.S(e):u.S(e[0],0===e[1]?void 0:e[1],3===e.length?e[2]:void 0);break;case"M":"string"==typeof e?u.M(e):u.M(e[0],e[1])}break;case 69:a=(r=e._chunks).get(t),u=JSON.parse(u),(n=ec()).digest=u.digest,a?D(e,a,n):(e=new j("rejected",null,n),r.set(t,e));break;case 84:(r=(e=e._chunks).get(t))&&"pending"!==r.status?r.reason.enqueueValue(u):(u=new j("fulfilled",u,null),e.set(t,u));break;case 78:case 68:case 74:case 87:throw Error(l(504));case 82:ei(e,t,void 0);break;case 114:ei(e,t,"bytes");break;case 88:ef(e,t,!1);break;case 120:ef(e,t,!0);break;case 67:(t=e._chunks.get(t))&&"fulfilled"===t.status&&t.reason.close(""===u?'"$undefined"':u);break;default:(a=(r=e._chunks).get(t))?I(e,a,u):(e=M(e,u),r.set(t,e))}}(e,u,i,v,h,y),f=_,3===d&&f++,y=i=v=d=0,h.length=0;else{s=new Uint8Array(s.buffer,b,s.byteLength-f),98===v?(y-=s.byteLength,eu(e,i,s)):(h.push(s),y-=s.byteLength);break}}return u._rowState=d,u._rowID=i,u._rowTag=v,u._rowLength=y,a.read().then(n).catch(r)}).catch(r)}t.createFromFetch=function(e,n){var t=eh(n);return e.then(function(e){eg(t,e.body,ey.bind(null,t))},function(e){B(t,e)}),V(t,0)},t.createFromReadableStream=function(e,n){return eg(n=eh(n),e,ey.bind(null,n)),V(n,0)},t.createServerReference=function(e,n){function t(){var t=Array.prototype.slice.call(arguments);return n(e,t)}return O(t,e,null),t},t.createTemporaryReferenceSet=function(){return new Map},t.encodeReply=function(e,n){return new Promise(function(t,r){!function(e,n,t,r,o){function u(){null!==R&&R.abort("The reply ended.")}function a(e){j=!0,u(),t(e)}function i(e){j=!0,u(),r(e)}function s(e,n){n=new Blob([new Uint8Array(n.buffer,n.byteOffset,n.byteLength)]);var t=p++;return null===S&&(S=new FormData),S.append(""+t,n),"$"+e+t.toString(16)}function f(e,t){if(null===t)return null;if("object"==typeof t){switch(t.$$typeof){case v:if(void 0!==n&&-1===e.indexOf(":")){var r,o,u,d,j,R,E=k.get(this);if(void 0!==E)return n.set(E+":"+e,t),"$T"}if(void 0!==n&&A===t)return A=null,"$T";throw Error(l(510,""));case y:E=t._payload;var P=t._init;null===S&&(S=new FormData),O++;try{var $=P(E),T=p++,D=c($,T);return S.append(""+T,D),"$"+T.toString(16)}catch(e){if("object"==typeof e&&null!==e&&"function"==typeof e.then){O++;var M=p++;return E=function(){try{var e=c(t,M),n=S;n.append(""+M,e),O--,0===O&&a(n)}catch(e){i(e)}},e.then(E,E),"$"+M.toString(16)}return i(e),null}finally{O--}}if(E=k.get(t),"function"==typeof t.then){if(void 0!==E)if(A!==t)return E;else A=null;null===S&&(S=new FormData),O++;var N=p++;return e="$@"+N.toString(16),k.set(t,e),t.then(function(e){try{var n=k.get(e),t=void 0!==n?JSON.stringify(n):c(e,N);(e=S).append(""+N,t),O--,0===O&&a(e)}catch(e){i(e)}},i),e}if(void 0!==E)if(A!==t)return E;else A=null;else -1===e.indexOf(":")&&void 0!==(E=k.get(this))&&(e=E+":"+e,k.set(t,e),void 0!==n&&n.set(e,t));if(_(t))return t;if(t instanceof FormData){null===S&&(S=new FormData);var C=S,I="_"+(e=p++)+"_";return t.forEach(function(e,n){C.append(I+n,e)}),"$K"+e.toString(16)}if(t instanceof Map)return e=p++,E=c(Array.from(t),e),null===S&&(S=new FormData),S.append(""+e,E),"$Q"+e.toString(16);if(t instanceof Set)return e=p++,E=c(Array.from(t),e),null===S&&(S=new FormData),S.append(""+e,E),"$W"+e.toString(16);if(t instanceof ArrayBuffer)return e=new Blob([t]),E=p++,null===S&&(S=new FormData),S.append(""+E,e),"$A"+E.toString(16);if(t instanceof Int8Array)return s("O",t);if(t instanceof Uint8Array)return s("o",t);if(t instanceof Uint8ClampedArray)return s("U",t);if(t instanceof Int16Array)return s("S",t);if(t instanceof Uint16Array)return s("s",t);if(t instanceof Int32Array)return s("L",t);if(t instanceof Uint32Array)return s("l",t);if(t instanceof Float32Array)return s("G",t);if(t instanceof Float64Array)return s("g",t);if(t instanceof BigInt64Array)return s("M",t);if(t instanceof BigUint64Array)return s("m",t);if(t instanceof DataView)return s("V",t);if("function"==typeof Blob&&t instanceof Blob)return null===S&&(S=new FormData),e=p++,S.append(""+e,t),"$B"+e.toString(16);if(e=null===(r=t)||"object"!=typeof r?null:"function"==typeof(r=h&&r[h]||r["@@iterator"])?r:null)return(E=e.call(t))===t?(e=p++,E=c(Array.from(E),e),null===S&&(S=new FormData),S.append(""+e,E),"$i"+e.toString(16)):Array.from(E);if("function"==typeof ReadableStream&&t instanceof ReadableStream)return function(e){try{var n,t,r,l,o,u,s,c,d,v=e.getReader({mode:"byob"})}catch(o){return n=e.getReader(),null===S&&(S=new FormData),t=S,O++,l="S"+(r=p++),n.read().then(function e(r){if(r.done)t.append(l,"C"),0==--O&&a(t);else try{var o=JSON.stringify(r.value,f);t.append(l,o),n.read().then(e,i)}catch(e){i(e)}},i),"$R"+r.toString(16)}return o=v,null===S&&(S=new FormData),u=S,O++,s=p++,c=[],d="S"+s,o.read(new Uint8Array(1024)).then(function e(n){n.done?(n=p++,u.append(""+n,new Blob(c)),u.append(d,'"$o'+n.toString(16)+'"'),u.append(d,"C"),0==--O&&a(u)):(c.push(n.value),o.read(new Uint8Array(1024)).then(e,i))},i),"$r"+s.toString(16)}(t);if("function"==typeof(e=t[g]))return o=t,u=e.call(t),null===S&&(S=new FormData),d=S,O++,j=p++,o=o===u,R="S"+j,u.next().then(function e(n){if(n.done){if(void 0===n.value)d.append(R,"C");else try{var t=JSON.stringify(n.value,f);d.append(R,"C"+t)}catch(e){i(e);return}0==--O&&a(d)}else try{var r=JSON.stringify(n.value,f);d.append(R,r),u.next().then(e,i)}catch(e){i(e)}},i),"$"+(o?"x":"X")+j.toString(16);if((e=b(t))!==w&&(null===e||null!==b(e))){if(void 0===n)throw Error(l(499,""));return"$T"}return t}if("string"==typeof t)return"Z"===t[t.length-1]&&this[e]instanceof Date?"$D"+t:e="$"===t[0]?"$"+t:t;if("boolean"==typeof t)return t;if("number"==typeof t)return Number.isFinite(t)?0===t&&-1/0==1/t?"$-0":t:1/0===t?"$Infinity":-1/0===t?"$-Infinity":"$NaN";if(void 0===t)return"$undefined";if("function"==typeof t){if(void 0!==(E=m.get(t)))return void 0!==(e=k.get(t))||(e=JSON.stringify({id:E.id,bound:E.bound},f),null===S&&(S=new FormData),E=p++,S.set(""+E,e),e="$h"+E.toString(16),k.set(t,e)),e;if(void 0!==n&&-1===e.indexOf(":")&&void 0!==(E=k.get(this)))return n.set(E+":"+e,t),"$T";throw Error(l(469))}if("symbol"==typeof t){if(void 0!==n&&-1===e.indexOf(":")&&void 0!==(E=k.get(this)))return n.set(E+":"+e,t),"$T";throw Error(l(517,""))}if("bigint"==typeof t)return"$n"+t.toString(10);throw Error(l(472,typeof t))}function c(e,t){return"object"==typeof e&&null!==e&&(t="$"+t.toString(16),k.set(e,t),void 0!==n&&n.set(t,e)),A=e,JSON.stringify(e,f)}function d(){u(),0<O&&(O=0,null===S?a(E):a(S))}var p=1,O=0,S=null,k=new WeakMap,A=e,j=!1,R=null,E=c(e,0);null===S?a(E):(S.set("0",E),0===O&&a(S)),void 0===o||j||(o.aborted?d():(R=new AbortController,o.addEventListener("abort",function(){d()},{signal:R.signal})))}(e,n&&n.temporaryReferences?n.temporaryReferences:void 0,t,r,n?n.signal:void 0)})},t.registerServerReference=function(e,n){return O(e,n,null),e}},21413,(e,n,t)=>{e.i(47167),n.exports=e.r(64893)},35326,(e,n,t)=>{n.exports=e.r(21413)},13016,(e,n,t)=>{function r(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isThenable",{enumerable:!0,get:function(){return r}})}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,[24380,e=>{var t=e.i(43476),r=e.i(71645),n=e.i(8734),o=e.i(89664),l=e.i(47163);function a(e){let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t);try{return t.select(),document.execCommand("copy")}finally{document.body.removeChild(t)}}e.s(["CopyButton",0,function({text:e,className:i}){let[u,c]=(0,r.useState)(!1),s=(0,r.useRef)(void 0);(0,r.useEffect)(()=>()=>{s.current&&clearTimeout(s.current)},[]);let d=(0,r.useCallback)(()=>{s.current&&clearTimeout(s.current),c(!0),s.current=setTimeout(()=>c(!1),2e3)},[]),f=(0,r.useCallback)(async()=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(e);else if(!a(e))throw Error("Both clipboard methods failed");d()}catch(t){console.error("Failed to copy to clipboard:",t);try{a(e)&&d()}catch{}}},[e,d]);return(0,t.jsx)("button",{type:"button",onClick:f,title:"Copy to clipboard",className:(0,l.f)("inline-flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors",i),children:u?(0,t.jsx)(o.f,{className:"w-3.5 h-3.5 text-green-500"}):(0,t.jsx)(n.f,{className:"w-3.5 h-3.5"})})}])},69186,e=>{var t=e.i(43476);let r=(0,e.i(70703).default)(()=>e.A(79348),{loadableGenerated:{modules:[5780]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"bg-card border border-border rounded-lg p-4 shadow-sm",children:(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)("div",{className:"animate-pulse text-muted-foreground",children:"Loading log viewer..."})})})});e.s(["default",0,function({entries:e,projectName:n,sessionId:o}){return(0,t.jsx)(r,{entries:e,projectName:n,sessionId:o})}])},89664,e=>{var t=e.i(56420);let r={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],89664)},8734,e=>{var t=e.i(56420);let r={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],8734)},90317,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return d},getOrCreateGlobalAsyncLocalStorage:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let l=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class a{disable(){throw l}getStore(){}run(){throw l}exit(){throw l}enterWith(){throw l}static bind(e){return e}}let i="u">typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return i?new i:new a}function c(e){let t=Symbol.for(`@next/${e}@16.4.
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,[24380,e=>{var t=e.i(43476),r=e.i(71645),n=e.i(8734),o=e.i(89664),l=e.i(47163);function a(e){let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t);try{return t.select(),document.execCommand("copy")}finally{document.body.removeChild(t)}}e.s(["CopyButton",0,function({text:e,className:i}){let[u,c]=(0,r.useState)(!1),s=(0,r.useRef)(void 0);(0,r.useEffect)(()=>()=>{s.current&&clearTimeout(s.current)},[]);let d=(0,r.useCallback)(()=>{s.current&&clearTimeout(s.current),c(!0),s.current=setTimeout(()=>c(!1),2e3)},[]),f=(0,r.useCallback)(async()=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(e);else if(!a(e))throw Error("Both clipboard methods failed");d()}catch(t){console.error("Failed to copy to clipboard:",t);try{a(e)&&d()}catch{}}},[e,d]);return(0,t.jsx)("button",{type:"button",onClick:f,title:"Copy to clipboard",className:(0,l.f)("inline-flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors",i),children:u?(0,t.jsx)(o.f,{className:"w-3.5 h-3.5 text-green-500"}):(0,t.jsx)(n.f,{className:"w-3.5 h-3.5"})})}])},69186,e=>{var t=e.i(43476);let r=(0,e.i(70703).default)(()=>e.A(79348),{loadableGenerated:{modules:[5780]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"bg-card border border-border rounded-lg p-4 shadow-sm",children:(0,t.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,t.jsx)("div",{className:"animate-pulse text-muted-foreground",children:"Loading log viewer..."})})})});e.s(["default",0,function({entries:e,projectName:n,sessionId:o}){return(0,t.jsx)(r,{entries:e,projectName:n,sessionId:o})}])},89664,e=>{var t=e.i(56420);let r={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],89664)},8734,e=>{var t=e.i(56420);let r={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],8734)},90317,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return d},getOrCreateGlobalAsyncLocalStorage:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let l=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class a{disable(){throw l}getStore(){}run(){throw l}exit(){throw l}enterWith(){throw l}static bind(e){return e}}let i="u">typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return i?new i:new a}function c(e){let t=Symbol.for(`@next/${e}@16.4.2`),r=globalThis;return r[t]??=u()}function s(e){return i?i.bind(e):a.bind(e)}function d(){return i?i.snapshot():function(e,...t){return e(...t)}}},42344,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).getOrCreateGlobalAsyncLocalStorage)("work-async-storage")},63599,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},70703,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(55682)._(e.r(69093));function o(e,t){let r={};"function"==typeof e&&(r.loader=e);let o={...r,...t};return(0,n.default)({...o,modules:o.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},9885,(e,t,r)=>{function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},67585,(e,t,r)=>{e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSRForNextDynamic",{enumerable:!0,get:function(){return a}});let n=e.r(71645),o=e.r(74080);e.r(32061);let l=e.r(49354).createReactBrowserBailoutReason.bind(null,"next/dynamic");function a({children:e}){return(0,n.use)((0,o.browser)(l)),e}},69093,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return c}});let n=e.r(43476),o=e.r(71645),l=e.r(67585),a=e.r(52157);function i(e){return{default:e&&"default"in e?e.default:e}}let u={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},c=function(e){let t={...u,...e},r=(0,o.lazy)(()=>t.loader().then(i)),c=t.loading;function s(e){let i=c?(0,n.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,u=!t.ssr||!!t.loading,s=u?o.Suspense:o.Fragment,d=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(a.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(l.BailoutToCSRForNextDynamic,{children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(s,{...u?{fallback:i}:{},children:d})}return s.displayName="LoadableComponent",s}},52157,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return u}});let n=e.r(43476),o=e.r(74080),l=e.r(63599),a=e.r(9885),i=e.r(43369);function u({moduleIds:e}){if("u">typeof window)return null;let t=l.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let c=(0,i.getAssetTokenQuery)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,a.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,o.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},49354,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var n={createReactBrowserBailoutReason:function(){return a},getReactBrowserBailoutReason:function(){return i},isNextBrowserBailoutError:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let l=Symbol.for("next.browser-bailout-reason");function a(e){return{$$typeof:l,reason:e}}function i(e){let t=e?.cause;return t?.$$typeof===l?t.reason:void 0}function u(e){return void 0!==i(e)}}],79348,e=>{e.v(t=>Promise.all(["static/chunks/2meqb9kygrncb.js","static/chunks/3tn1bzk094e8e.js"].map(t=>e.l(t))).then(()=>t(5780)))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36406,e=>{"use strict";let t,s;var n=e.i(43476),r=e.i(71645),l=e.i(74080);function i(e,t,s){let n,r=s.initialDeps??[],l=!0;function i(){let i=e();return(i.length!==r.length||i.some((e,t)=>r[t]!==e))&&(r=i,n=t(...i),(null==s?void 0:s.onChange)&&!(l&&s.skipInitialOnChange)&&s.onChange(n),l=!1),n}return i.updateDeps=e=>{r=e},i}function o(e,t){if(void 0!==e)return e;throw Error(`Unexpected undefined${t?`: ${t}`:""}`)}let a=(e,t)=>1.01>Math.abs(e-t),h=()=>{if(void 0!==t)return t;if("u"<typeof navigator)return t=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return t=!0;let e=navigator.maxTouchPoints;return t="MacIntel"===navigator.platform&&void 0!==e&&e>0},d={capture:!0,passive:!0};class c{constructor(e){this.host=e,this._touch=null,this.inMotion=()=>null!==this._touch&&"lateFling"!==this._touch.phase,this.dragging=()=>{var e;return(null==(e=this._touch)?void 0:e.phase)==="down"&&this._touch.moved},this.tail=()=>{var e;return(null==(e=this._touch)?void 0:e.phase)==="tail"?this._touch.moved?"fling":"tap":null},this.onScroll=({isScrolling:e,ownReadBack:t,moved:s,external:n})=>{var r,l,i;return e&&(null==(r=this._touch)?void 0:r.phase)==="tail"?this._openTail(this._touch.moved||!t,!1):(null==(l=this._touch)?void 0:l.phase)==="lateFling"&&(this.host.now()>this._touch.until?this._touch=null:n&&e&&s&&this._openTail(!0,!1)),!t&&!!e&&!!s&&(null==(i=this._touch)?void 0:i.phase)==="down"&&(this._touch.moved=!0,!0)},this.touchStart=()=>{this.end(),this._touch={phase:"down",moved:!1}},this.touchEnd=()=>{var e;let t=(null==(e=this._touch)?void 0:e.phase)==="down"&&this._touch.moved;this.end(),this._openTail(t,t)},this.end=()=>{var e;let t=this.host.getWindow();(null==(e=this._touch)?void 0:e.phase)==="tail"&&null!=t&&t.clearTimeout(this._touch.timerId),this._touch=null},this.listen=e=>{let t=()=>this.touchStart(),s=()=>this.touchEnd();return e.addEventListener("touchstart",t,d),e.addEventListener("touchend",s,d),e.addEventListener("touchcancel",s,d),()=>{e.removeEventListener("touchstart",t,d),e.removeEventListener("touchend",s,d),e.removeEventListener("touchcancel",s,d),this.end()}},this._openTail=(e,t)=>{let s=this.host.getWindow();if(!h()||null==s)return;this.end();let n={phase:"tail",moved:e,awaitingFling:t,timerId:s.setTimeout(()=>{this.host.tailStillMoving()?this._openTail(n.moved,n.awaitingFling):(this._touch=n.awaitingFling?{phase:"lateFling",until:this.host.now()+1e3}:null,this.host.onTailClosed())},150)};this._touch=n}}get touch(){return this._touch}}let u=e=>e,m=e=>{let t=e.overscan*Math.max(e.lanes??1,1),s=Math.max(e.startIndex-t,0),n=Math.min(e.endIndex+t,e.count-1)-s+1,r=Array(n);for(let e=0;e<n;e++)r[e]=s+e;return r},f={passive:!0},p=(e,t)=>{let s=e.scrollElement;if(!s)return;let n=()=>{t({width:s.innerWidth,height:s.innerHeight})};return n(),s.addEventListener("resize",n,f),()=>{s.removeEventListener("resize",n)}},g="u"<typeof window||"onscrollend"in window,x=(e,t)=>((e,t,s)=>{var n,r;let l,i=e.scrollElement;if(!i)return;let o=e.targetWindow;if(!o)return;let a=e.options.useScrollendEvent&&g,h=0,d=a?null:(n=()=>t(s(i),!1),r=e.options.isScrollingResetDelay,Object.assign(function(...e){o.clearTimeout(l),l=o.setTimeout(()=>n.apply(this,e),r)},{cancel:()=>{o.clearTimeout(l)}})),c=e=>()=>{h=s(i),null==d||d(),t(h,e)},u=c(!0),m=c(!1);return i.addEventListener("scroll",u,f),a&&i.addEventListener("scrollend",m,f),()=>{i.removeEventListener("scroll",u),a&&i.removeEventListener("scrollend",m),null==d||d.cancel()}})(e,t,t=>e.options.horizontal?t.scrollX:t.scrollY),y=(e,t,s)=>{if(s.options.useCachedMeasurements){let t=s.indexFromElement(e),n=s.options.getItemKey(t);return s.itemSizeCache.get(n)??s.options.estimateSize(t)}if(null==t?void 0:t.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[s.options.horizontal?"inlineSize":"blockSize"])}if(!t){let t=s.indexFromElement(e),n=s.options.getItemKey(t),r=s.itemSizeCache.get(n);if(void 0!==r)return r}return e[s.options.horizontal?"offsetWidth":"offsetHeight"]},v=(e,{adjustments:t=0,behavior:s},n)=>{var r,l;null==(l=null==(r=n.scrollElement)?void 0:r.scrollTo)||l.call(r,{[n.options.horizontal?"left":"top"]:e+t,behavior:s})},b=(e,t)=>"smooth"===e?t?"smoothLanded":"smooth":"instant",S=e=>(null==e?void 0:e.phase)==="smooth"||(null==e?void 0:e.phase)==="smoothLanded";class j{constructor(e){let t,s,n,r;this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._iosGesture=new c({getWindow:()=>this.targetWindow,now:()=>this.now(),tailStillMoving:()=>{let e=this.scrollState;if((null==e?void 0:e.phase)!=="queued"||null!==this.pendingWrite)return!1;let t=this._readElementOffset();return!(null===t||null===this._lastElementOffset||1>Math.abs(t-this._lastElementOffset))&&(this._lastElementOffset=t,e.samples=[...e.samples??[],{t:this.now(),offset:t}],!0)},onTailClosed:()=>{let e=this.scrollState;(null==e?void 0:e.phase)==="queued"&&function(e){let t=e[e.length-1];if(void 0===t)return!1;let s=e.length-2;for(;s>=0&&t.t-e[s].t<40;)s--;if(s<0)return!1;let n=e[s];return Math.abs(t.offset-n.offset)/(t.t-n.t)>=.05}(e.samples??[])&&(this.scrollState=null),this._flushHoldIfReady(!0),this._writeAwaitingCommand()}}),this._lastElementOffset=null,this.pendingWrite=null,this._clampedAdjustment=null,this.elementsCache=new Map,this._resizeBatch=null,this.now=()=>{var e,t,s;return(null==(s=null==(t=null==(e=this.targetWindow)?void 0:e.performance)?void 0:t.now)?void 0:s.call(t))??Date.now()},this.observer=(t=null,s=null,n=()=>{let e;if(t)return t;let n=this.targetWindow;if(!n||!n.ResizeObserver)return null;let l=(e=new Set,s={schedule:t=>{let s=n.requestAnimationFrame(()=>{e.delete(s),t()});e.add(s)},cancel:()=>{e.forEach(e=>n.cancelAnimationFrame(e)),e.clear()}});return t=new n.ResizeObserver(e=>{let t=()=>{let t={sync:!1};this._resizeBatch=t;try{e.forEach(r)}finally{this._resizeBatch=null,t.notify&&(this.notify(t.sync),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment())}};this.options.useAnimationFrameWithResizeObserver?l.schedule(t):t()})},r=e=>{let t=e.target,s=this.indexFromElement(t);if(!t.isConnected){for(let[e,s]of(this.observer.unobserve(t),this.elementsCache))if(s===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(s)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,e,this))},{disconnect:()=>{var e;null==(e=n())||e.disconnect(),null==s||s.cancel(),t=null,s=null},observe:e=>{var t;return null==(t=n())?void 0:t.observe(e,{box:"border-box"})},unobserve:e=>{var t;return null==(t=n())?void 0:t.unobserve(e)}}),this.range=null,this.setOptions=e=>{var t;let s={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:u,rangeExtractor:m,onChange:()=>{},measureElement:y,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let t in e){let n=e[t];void 0!==n&&(s[t]=n)}let n=this.options,r=null,l=null,i=!1;if(void 0!==n&&n.enabled&&s.enabled&&"end"===s.anchorTo&&null!==this.scrollElement){let e=n.count,o=s.count,a=this.getMeasurements(),h=(null==(t=this._singleLaneMeasurements)?void 0:t.items)??a,d=e=>{var t;return"object"==typeof(t=h[e])?t.key:t},c=e>0?d(0):null,u=e>0?d(e-1):null;if(o!==e||e>0&&o>0&&(s.getItemKey(0)!==c||s.getItemKey(o-1)!==u)){i=!0;let t=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??a[0]:null;t&&(r=[t.key,this.getScrollOffset()-t.start]);let h=!0===s.followOnAppend?"auto":s.followOnAppend||null;h&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(0===e||s.getItemKey(o-1)!==u)&&(o>e||function(e,t,s,n){if(0===t)return!1;let r=n(0),l=new Set,i=0;for(;i<e;){let e=s(i);if(e===r)break;l.add(e),i++}let o=e-i;if(0===o||o>=t)return!1;for(let e=0;e<o;e++)if(n(e)!==s(i+e))return!1;for(let e=o;e<t;e++)if(l.has(n(e)))return!1;return!0}(e,o,d,s.getItemKey))&&(l=h)}}this.options=s,i&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=null;if(r&&null!==this.scrollOffset&&!this._awaitingCommandReadBack()){let[e,t]=r,s=this.getMeasurements(),{count:n,getItemKey:i}=this.options,a=0;for(;a<n&&i(a)!==e;)a++;if(a<n){let e=s[a];if(e){let s=Math.max(0,e.start+t);l||s===this.scrollOffset||(o=s-this.scrollOffset,this.scrollOffset=s)}}}l?this.pendingScrollAnchor={kind:"follow",behavior:l}:null!==o&&(this._canWriteScroll()?this.pendingScrollAnchor={kind:"anchor",delta:o}:(this._holdOffset+=o,this._followOffsetTarget(o)))},this.notify=e=>{var t,s;null==(s=(t=this.options).onChange)||s.call(t,this,e)},this.maybeNotify=i(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{var e;this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),null!=this.rafId&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,null==(e=this._momentumStop)||e.restore(),this._momentumStop=null,this.isScrolling=!1,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._clampedAdjustment=null,this.pendingWrite=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;let t=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==t){if(this.cleanup(),!t)return void this.maybeNotify();this.scrollElement=t,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(e=this.scrollElement)?void 0:e.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{var s,n,r,l;let i=t?this._elementMaxScrollOffset():null,o=this._reportedOverscroll;this._reportedOverscroll=e<0||null!==i&&e>i+1;let h=e;this._lastElementOffset=h,e=this._toLayoutOffset(e);let d=this._classifyScrollEvent(e,t,i);if("spurious"===d)return;"readBack"===d?e=this.pendingWrite.target:"clampedReadBack"===d&&(null==(s=this.scrollState)?void 0:s.index)!=null&&e<this.getMaxScrollOffset()-1.5?this.scrollState.lastTargetOffset=e:function({kind:e,offset:t,command:s,target:n}){let r;return"spurious"!==e&&"readBack"!==e&&"clampedReadBack"!==e&&(null==s?void 0:s.index)!=null&&"queued"!==s.phase&&"smooth"!==(r=s.phase)&&"smoothFinishing"!==r&&!a(t,s.lastTargetOffset)&&!a(t,n())&&"clampedEcho"!==e}({kind:d,offset:e,command:this.scrollState,target:()=>this.getScrollStateTarget(this.scrollState)})&&(this.scrollState=null),this.pendingWrite=null,null!==this._clampedAdjustment&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null);let c=this.getScrollOffset(),u=this.scrollDirection;this.scrollDirection=t?c===e?this.scrollDirection:c<e?"forward":"backward":null,this.scrollOffset=e,this.isScrolling=t;let m=this.scrollState;if((null==m?void 0:m.phase)==="queued"&&"external"===d&&t)if(o||this._reportedOverscroll)m.samples=[];else{let e=this.now();m.samples=[...(m.samples??[]).filter(t=>e-t.t<=200),{t:e,offset:h}],(null!==u&&this.scrollDirection!==u||function(e){let t=e[e.length-1];if(void 0===t)return!1;let s=e.length-2;for(;s>=0&&t.t-e[s].t<40;)s--;if(s<0)return!1;let n=e[s],r=s-1;for(;r>=0&&n.t-e[r].t<40;)r--;if(r<0)return!1;let l=e[r],i=(t.offset-n.offset)/(t.t-n.t),o=(n.offset-l.offset)/(n.t-l.t);return i*o>=0&&Math.abs(i)>=2*Math.abs(o)&&Math.abs(i)-Math.abs(o)>=.8}(m.samples))&&(this.scrollState=null)}this._iosGesture.onScroll({isScrolling:t,ownReadBack:"readBack"===d,moved:e!==c,external:"external"===d&&(null==(n=this.scrollState)?void 0:n.phase)!=="smooth"&&(null==(r=this.scrollState)?void 0:r.phase)!=="smoothFinishing"})&&(null==(l=this.scrollState)?void 0:l.phase)==="queued"&&(this.scrollState=null),this._flushHoldIfReady(!0),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement&&this.unsubs.push(this._iosGesture.listen(this.scrollElement)),this._scrollToOffset(this.getScrollOffset())}this._noteClampMax();let s=this.pendingScrollAnchor;this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled&&("anchor"===s.kind?this._canWriteScroll()?S(this.scrollState)&&!a(this.getScrollOffset()-s.delta,this.scrollState.lastTargetOffset)||(this._followOffsetTarget(s.delta),this._scrollToOffset(this.getScrollOffset())):(this._holdOffset+=s.delta,this._followOffsetTarget(s.delta),this.notify(!1)):this.scrollToEnd({behavior:s.behavior})),this._flushHoldIfReady(!1),this._retryClampedAdjustment()},this._classifyScrollEvent=(e,t,s)=>{var n;return function({offset:e,isScrolling:t,elementMax:s,holdOffset:n,scrollOffset:r,pendingWrite:l,clampedMaxAtWrite:i}){var o;return t&&null===l&&e===r?"spurious":null!==l&&1.5>Math.abs(e-l.target)?"readBack":null!==l&&!l.smooth&&null!==s&&l.target>s+n+.5&&1.5>Math.abs(e-(s+n))||null!==l&&!l.smooth&&(null==(o=l.lowMaxes)?void 0:o.some(t=>1.5>Math.abs(e-t)))?"clampedReadBack":null!==i&&1.5>Math.abs(e-i)?"clampedEcho":"external"}({offset:e,isScrolling:t,elementMax:s,holdOffset:this._holdOffset,scrollOffset:this.scrollOffset,pendingWrite:this.pendingWrite,clampedMaxAtWrite:(null==(n=this._clampedAdjustment)?void 0:n.maxAtWrite)??null})},this._retryClampedAdjustment=()=>{if(null===this._clampedAdjustment||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,s=this.getMaxScrollOffset();s>t+.5&&(this._clampedAdjustment=e>s+.5?{target:e,maxAtWrite:s}:null,this._scrollToOffset(e))},this._writeAwaitingCommand=()=>{let e=this.scrollState;if(null===e||"queued"!==e.phase)return;let{behavior:t}=e;this.getMeasurements();let s=this.getScrollStateTarget(e);e.lastTargetOffset=s,this._clampedAdjustment=null,e.phase=b(t,null!=e.index&&a(s,this.getScrollOffset())),this._scrollToOffset(s,{behavior:t}),this.scheduleScrollReconcile()},this._readElementOffset=()=>{let e=this.scrollElement;if(null==e)return null;let{horizontal:t,isRtl:s}=this.options;return"number"==typeof e.scrollTop?t?e.scrollLeft*(s&&-1||1):e.scrollTop:"number"==typeof e.scrollY?t?e.scrollX:e.scrollY:null},this._canWriteScroll=()=>!(h()&&this._iosGesture.inMotion())&&!this._reportedOverscroll,this._flushHoldIfReady=e=>{var t;if(0===this._holdOffset||!this.scrollElement||!this.options.enabled||!this._canWriteScroll()||(null==(t=this.scrollState)?void 0:t.phase)==="smooth")return;this._holdOffset=0,null!==this.scrollOffset&&this.scrollOffset<0&&(this.scrollOffset=0),this.notify(e);let s=this.getCommandWrittenOffset()??this.getScrollOffset();this._clampedAdjustment=this._clampedBy(s),this._scrollToOffset(s)},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=i(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,s,n,r,l,i,o)=>(void 0!==this.prevLanes&&this.prevLanes!==l&&(this.lanesChangedFlag=!0),this.prevLanes=l,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:r,lanes:l,laneAssignmentMode:i,gap:o}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=i(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:r,lanes:l,laneAssignmentMode:i,gap:o},a)=>{var h,d;let c=this.itemSizeCache;if(!r)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),1===l){let r,l,i=2*e,a=null==(h=this._singleLaneMeasurements)?void 0:h.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,2*u)),a=e}let m=0===u?Array(e):this._singleLaneMeasurements.items.slice();if(0===u)r=t+s;else{let e=u-1;r=a[2*e]+a[2*e+1]+o}for(let t=u;t<e;t++){let e=n(t);m[t]=e;let s=c.get(e),l="number"==typeof s?s:this.options.estimateSize(t);a[2*t]=r,a[2*t+1]=l,r+=l+o}this._singleLaneMeasurements={flat:a,items:m};let f=(d=a,l=m.length,new Proxy(m,{get(e,t,s){if("string"==typeof t){let s=t.charCodeAt(0);if(s>=48&&s<=57){let s=+t;if(Number.isInteger(s)&&s>=0&&s<l){let t=e[s];if("object"!=typeof t){let n=d[2*s];t=e[s]={index:s,key:t,start:n,size:d[2*s+1],end:n+d[2*s+1],lane:0}}return t}}if("length"===t)return l}return Reflect.get(e,t,s)}}));return this.measurementsCache=f,f}let m=this.measurementsCache.slice(0,u),f=Array(l).fill(void 0),p=new Float64Array(l),g=0;for(let e=0;e<u;e++){let t=m[e];t&&(void 0===f[t.lane]&&g++,f[t.lane]=e,p[t.lane]=t.end)}for(let r=u;r<e;r++){let e,a,h=n(r),d=this.laneAssignments.get(r),u="estimate"===i||c.has(h);if(void 0!==d&&this.options.lanes>1){let n=f[e=d],r=void 0!==n?m[n]:void 0;a=r?r.end+o:t+s}else if(g===l){let t=0,s=p[0],n=f[0];for(let e=1;e<l;e++){let r=p[e];(r<s||r===s&&f[e]<n)&&(t=e,s=r,n=f[e])}e=t,a=s+o,u&&this.laneAssignments.set(r,e)}else e=r%this.options.lanes,a=t+s,u&&this.laneAssignments.set(r,e);let x=c.get(h),y="number"==typeof x?x:this.options.estimateSize(r),v=a+y;m[r]={index:r,start:a,size:y,end:v,key:h,lane:e},void 0===f[e]&&g++,f[e]=r,p[e]=v}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=i(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,s,n)=>0===e.length||0===t?(this.range=null,null):(this.range=function(e,t,s,n,r){let l=e.length-1;if(e.length<=n)return{startIndex:0,endIndex:l};if(1===n&&null!==r){let e=function(e,t,s){let n=0;for(;n<=t;){let r=(n+t)/2|0,l=e[2*r];if(l<s)n=r+1;else{if(!(l>s))return r;t=r-1}}return n>0?n-1:0}(r,l,s),n=e,i=s+t;for(;n<l&&r[2*n]+r[2*n+1]<i;)n++;return{startIndex:e,endIndex:n}}let i=w(0,l,t=>e[t].start,s),o=i;if(1===n)for(;o<l&&e[o].end<s+t;)o++;else if(n>1){let r=Array(n).fill(0);for(;o<l&&r.some(e=>e<s+t);){let t=e[o];r[t.lane]=t.end,o++}let a=Array(n).fill(s+t);for(;i>=0&&a.some(e=>e>=s);){let t=e[i];a[t.lane]=t.start,i--}i=Math.max(0,i-i%n),o=Math.min(l,o+(n-1-o%n))}return{startIndex:i,endIndex:o}}(e,t,s,n,1===n&&null!==this._singleLaneMeasurements?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=i(()=>{let e=null,t=null,s=this.calculateRange();return s&&(e=s.startIndex,t=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t,this.options.lanes]},(e,t,s,n,r,l)=>null===n||null===r?[]:e({startIndex:n,endIndex:r,overscan:t,count:s,lanes:l}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{var t;if(!S(this.scrollState))return!0;let s=this.scrollState.index??(null==(t=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:t.index);if(void 0!==s&&this.range){let t=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),n=Math.max(0,s-t),r=Math.min(this.options.count-1,s+t);return e>=n&&e<=r}return!0},this.measureElement=e=>{if(!e)return void this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let s=this.options.getItemKey(t),n=this.elementsCache.get(s);n!==e&&(n&&this.observer.unobserve(n),this.observer.observe(e),this.elementsCache.set(s,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var s,n,r;let l,i,o;if(!this.isIndexInRange(e))return;(null==(s=this._resizeBatch)?void 0:s.sync)&&this.getMeasurements();let a=null==(n=this._singleLaneMeasurements)?void 0:n.flat;if(1===this.options.lanes&&null!=a)o=this.options.getItemKey(e),i=a[2*e],l=a[2*e+1];else{let t=this.measurementsCache[e];if(!t)return;o=t.key,i=t.start,l=t.size}let h=this.itemSizeCache.get(o)??l,d=t-h;if(0!==d){let s="end"===this.options.anchorTo&&!S(this.scrollState)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,n=s?this._getLayoutTotalSize():0,a=this.getScrollOffset(),c=this.itemSizeCache.has(o)?i+h<=a&&"backward"!==this.scrollDirection:i<a,u=!S(this.scrollState)&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:o,start:i,size:l,end:i+l,lane:0},d,this):c);(null===this.pendingMin||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(o,t),this.itemSizeCacheVersion++;let m=!1;if(!this._awaitingCommandReadBack()&&(s?m=this.applyScrollAdjustment(this._getLayoutTotalSize()-n):u&&(m=this.applyScrollAdjustment(d))),this._resizeBatch){this._resizeBatch.notify=!0,(r=this._resizeBatch).sync||(r.sync=m);return}this.notify(m),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment()}},this.getVirtualItems=i(()=>[this.getVirtualIndexes(),this.getMeasurements(),this._holdOffset],(e,t,s)=>{let n=[];for(let r=0,l=e.length;r<l;r++){let l=t[e[r]];n.push(0===s?l:{...l,start:l.start-s,end:l.end-s})}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{var t;let s=this.getMeasurements();if(0===s.length)return;let n=null==(t=this._singleLaneMeasurements)?void 0:t.flat,r=1===this.options.lanes&&null!=n,l=w(0,s.length-1,r?e=>n[2*e]:e=>o(s[e]).start,e);return o(s[l])},this._noteClampMax=()=>{if(!this._awaitingCommandReadBack())return;let e=this._elementMaxScrollOffset();if(null===e)return;let t=this.pendingWrite,s=Math.max(e,0)+this._holdOffset;if(s>=t.target)return;let n=t.lowMaxes??(t.lowMaxes=[]);n[n.length-1]!==s&&n.push(s)},this.getMaxScrollOffset=()=>(this._elementMaxScrollOffset()??0)+this._holdOffset,this._toLayoutOffset=e=>{var t;let s=e+this._holdOffset;return(null==(t=this.pendingScrollAnchor)?void 0:t.kind)==="anchor"&&(s+=this.pendingScrollAnchor.delta),s},this._elementMaxScrollOffset=()=>{let e=this.scrollElement;if(null===e)return null;if("scrollHeight"in e)return this.options.horizontal?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight;if("document"in e){let t=e.document.documentElement;return this.options.horizontal?t.scrollWidth-e.innerWidth:t.scrollHeight-e.innerHeight}return null},this._momentumStop=null,this._stopMomentum=e=>{let t=this.scrollElement,s=this.targetWindow;if(null===t||null===s)return;let n="document"in t?t.document.scrollingElement:t;if(!(null==n?void 0:n.style))return;if(this._momentumStop){this._momentumStop.done=e;return}let{style:r}=n,l=this.options.horizontal?"overflow-x":"overflow-y",i=r.getPropertyValue(l),o=r.getPropertyPriority(l);r.setProperty(l,"hidden","important");let a={restore:()=>"hidden"===r.getPropertyValue(l)&&"important"===r.getPropertyPriority(l)&&(r.setProperty(l,i,o),!0),done:e};this._momentumStop=a,s.requestAnimationFrame(()=>s.requestAnimationFrame(()=>{this._momentumStop===a&&(this._momentumStop=null,a.restore()&&a.done())}))},this._clampedBy=e=>{let t=this._elementMaxScrollOffset();if(null===t)return null;let s=t+this._holdOffset;return e>s+.5?{target:e,maxAtWrite:s}:null},this.getVirtualDistanceFromEnd=()=>Math.max(this._getLayoutTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),r=this.getScrollOffset();return"auto"===t&&(t=e>=r+n?"end":"start"),"center"===t?e+=(s-n)/2:"end"===t&&(e-=n),Math.max(Math.min(this.getMaxScrollOffset(),e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),r=this.measurementsCache[e];if(!r)return;if("auto"===t)if(r.end>=n+s-this.options.scrollPaddingEnd)t="end";else{if(!(r.start<=n+this.options.scrollPaddingStart))return[n,t];t="start"}if("end"===t&&e===this.options.count-1){let e=this.getMaxScrollOffset();return[Math.max(Math.min(e-this.options.paddingEnd+this.options.scrollPaddingEnd,e),0),t]}let l="end"===t?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,t,r.size),t]},this.scrollToOffset=(e,{align:t="start",behavior:s="auto"}={})=>{this._startScroll({index:null,align:t},this.getOffsetForAlignment(e,t),s,"absolute")},this.scrollToIndex=(e,{align:t="auto",behavior:s="auto"}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getOffsetForIndex(e,t);if(!n)return;let[r,l]=n;this._startScroll({index:e,align:l},r,s,"absolute")},this.scrollBy=(e,{behavior:t="auto"}={})=>{let s=this.getOffsetForAlignment((this.getCommandWrittenOffset()??this.getScrollOffset())+e,"start");this._startScroll({index:null,align:"start"},s,t,"relative")},this.scrollToEnd=({behavior:e="auto"}={})=>{this.options.count>0?this._startScroll({index:this.options.count-1,align:"end",toEnd:!0},Math.max(this.getMaxScrollOffset(),0),e,"absolute"):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{null!=this.rafId&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>Math.max(this._getLayoutTotalSize()-this._holdOffset,0),this._getLayoutTotalSize=()=>{var e,t;let s,n=this.getMeasurements();if(0===n.length)s=this.options.paddingStart;else if(1===this.options.lanes){let r=n.length-1,l=null==(e=this._singleLaneMeasurements)?void 0:e.flat;s=null!=l?l[2*r]+l[2*r+1]:(null==(t=n[r])?void 0:t.end)??0}else{let e=Array(this.options.lanes).fill(null),t=n.length-1;for(;t>=0&&e.some(e=>null===e);){let s=n[t];null===e[s.lane]&&(e[s.lane]=s.end),t--}s=Math.max(...e.filter(e=>null!==e))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(0===this.itemSizeCache.size)return e;for(let t of this.getMeasurements())t&&this.itemSizeCache.has(t.key)&&e.push({index:t.index,key:t.key,start:t.start,size:t.size,end:t.end,lane:t.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:s}={})=>{let n={target:e+(t??0),smooth:"smooth"===s};return this.pendingWrite=n,this.options.scrollToFn(e-this._holdOffset,{behavior:s,adjustments:t},this),n},this.getCommandWrittenOffset=()=>null===this.scrollState||null===this.pendingWrite||this.pendingWrite.smooth?null:this.pendingWrite.target,this._awaitingCommandReadBack=()=>{let e=this.getCommandWrittenOffset();return!(h()&&this._iosGesture.dragging())&&null!==e&&!a(e,this.getScrollOffset())},this._followOffsetTarget=e=>{null!==this.scrollState&&null==this.scrollState.index&&(this.scrollState.lastTargetOffset+=e)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}get scrollAdjustments(){return 0}applyScrollAdjustment(e,t){if(0===e)return!1;if(this._followOffsetTarget(e),!this._canWriteScroll())return this._holdOffset+=e,null!==this.scrollOffset&&(this.scrollOffset+=e),!0;{let s=this.getScrollOffset();this._clampedAdjustment=this._clampedBy(s+e);let n=this._scrollToOffset(s,{adjustments:e,behavior:t});return null!==this.scrollOffset&&(this.pendingWrite===n&&(this.scrollOffset+=e),this.scrollOffset<0&&(this.scrollOffset=0)),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:null!=e.index?this.getOffsetForIndex(e.index,e.align):void 0;return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}if("queued"===this.scrollState.phase)return void this.scheduleScrollReconcile();this.getMeasurements();let e=this.getScrollStateTarget(this.scrollState),t=null==this.scrollState.index?1:this.options.useAnimationFrameWithResizeObserver?3:2,s=e!==this.scrollState.lastTargetOffset;if(!s&&a(e,this.getScrollOffset())){if("smooth"===this.scrollState.phase?this.scrollState.phase="smoothLanded":"smoothFinishing"===this.scrollState.phase&&(this.scrollState.phase="instant"),this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,s){let t=this.getSize()||600,s=Math.abs(e-this.getScrollOffset()),n=S(this.scrollState)&&s>t;this.scrollState.lastTargetOffset=e,n?this.scrollState.phase="smooth":"smooth"===this.scrollState.phase?this.scrollState.phase="smoothFinishing":"smoothLanded"===this.scrollState.phase&&(this.scrollState.phase="instant"),this._scrollToOffset(e,{behavior:n?"smooth":"auto"})}this.scheduleScrollReconcile()}_startScroll(e,t,n,r){let l=this._iosGesture.tail();if("absolute"===r&&null!==l){if("fling"===l&&(void 0!==s?s:s=h()&&"u">typeof CSS&&"function"==typeof CSS.supports&&CSS.supports("overflow-anchor: auto"))){this._stopMomentum(()=>{let e=this.scrollState;(null==e?void 0:e.phase)!=="queued"||"fling"!==this._iosGesture.tail()||this._reportedOverscroll||(this._iosGesture.end(),this._flushHoldIfReady(!0),this._writeAwaitingCommand())}),this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,phase:"queued",behavior:n,samples:[]},this.scheduleScrollReconcile();return}this._iosGesture.end()}this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,behavior:n,phase:b(n,null!=e.index&&a(t,this.getScrollOffset()))},this._scrollToOffset(t,{behavior:n}),this.scheduleScrollReconcile()}}let w=(e,t,s,n)=>{for(;e<=t;){let r=(e+t)/2|0,l=s(r);if(l<n)e=r+1;else{if(!(l>n))return r;t=r-1}}return e>0?e-1:0},M="u">typeof document?r.useLayoutEffect:r.useEffect;var N=e.i(16327),_=e.i(56420);let O={name:"wrench",size:24,node:[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]};O.node;let k=(0,_.f)(O);function E(e){let t=new Map,s=new Map;for(let n of e){let e=n.uuid||`${n._source}:${n.timestamp}`,r=s.get(e)??0;s.set(e,r+1),t.set(n,0===r?e:`${e}#${r}`)}return t}let C={name:"user",size:24,node:[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]};C.node;let I=(0,_.f)(C),T={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};T.node;let z=(0,_.f)(T),A={name:"cpu",size:24,node:[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]};A.node;let F=(0,_.f)(A),R={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};R.node;let W=(0,_.f)(R),L={name:"message-square",size:24,node:[["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"}]]};L.node;let $=(0,_.f)(L),D={name:"workflow",size:24,node:[["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"}]]};D.node;let B=(0,_.f)(D);var P=e.i(34713);let q=r.default.memo(function({entries:e,compact:t=!1}){let s=(0,r.useMemo)(()=>(function(e){let t=0,s=0,n=0,r=0,l=0,i=new Set;for(let o of e)if("user"===o.type&&t++,"queue-operation"===o.type&&l++,"assistant"===o.type){for(let e of(s++,o.message.content))"tool_use"===e.type&&("Task"===e.name&&(e.subagentType||e.subagentId)?r++:n++);o.message.model&&i.add(o.message.model)}let o="";if(e.length>=2){let t=e[e.length-1].timestampMs-e[0].timestampMs;o=(0,P.M)(t)}return{turnCount:l,userCount:t,assistantCount:s,toolCallCount:n,subagentCount:r,duration:o,models:Array.from(i)}})(e),[e]),l=t?"w-3.5 h-3.5":"w-4 h-4",i=t?"text-xs font-medium":"text-sm font-medium",o=t?"text-[10px] text-muted-foreground":"text-xs text-muted-foreground",a=[...t?[]:[{Icon:$,color:"text-primary",v:s.turnCount,l:"Turns"}],{Icon:I,color:"text-[color:var(--chart-1)]",v:s.userCount,l:"User"},{Icon:z,color:"text-[color:var(--chart-2)]",v:s.assistantCount,l:"Assistant"},{Icon:k,color:"text-[color:var(--chart-3)]",v:s.toolCallCount,l:t?"Tools":"Tool Calls"},{Icon:B,color:"text-[color:var(--chart-5)]",v:s.subagentCount,l:"Subagents"},{Icon:W,color:"text-[color:var(--chart-4)]",v:s.duration||"—",l:"Duration"},{Icon:F,color:"text-[color:var(--chart-5)]",v:s.models.length>0?s.models.join(", "):"—",l:t?"Model":"Model(s)"}];return(0,n.jsx)("div",{className:t?"bg-muted/30 border border-border/50 rounded-lg p-3 mb-3":"bg-card border border-border rounded-lg p-4",children:(0,n.jsx)("div",{className:`grid grid-cols-2 ${t?"sm:grid-cols-6 gap-3":"sm:grid-cols-4 lg:grid-cols-7 gap-4"}`,children:a.map(({Icon:e,color:t,v:s,l:r})=>(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(e,{className:`${l} ${t}`}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:`${i} truncate max-w-[120px]`,children:s}),(0,n.jsx)("div",{className:o,children:r})]})]},r))})})}),U={name:"play",size:24,node:[["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"}]]};U.node;let H=(0,_.f)(U);var V=e.i(67927);function K(e){return JSON.stringify(e.raw,null,2)}let G=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0});function Y(e){let t=new Date(e),s=G.format(t),n=t.getMilliseconds().toString().padStart(3,"0");return`${s}.${n}`}let J=r.default.memo(function({entry:e,isCollapsed:t,entryCount:s,onToggle:r}){let l="function"==typeof r,i=(0,n.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 rounded-full bg-primary/10 border border-primary/20 text-primary text-xs font-medium${l?" group-hover:bg-primary/20 transition-colors":""}`,children:[l?(0,n.jsx)(V.f,{className:`w-3 h-3 transition-transform ${t?"":"rotate-90"}`}):(0,n.jsx)(H,{className:"w-3 h-3"}),(0,n.jsx)("span",{children:e.label}),(0,n.jsx)("span",{className:"text-muted-foreground",children:Y(e.timestampMs)}),l&&t&&"number"==typeof s&&(0,n.jsxs)("span",{className:"ml-1 px-1.5 py-0.5 rounded bg-primary/20 text-[10px] leading-none",children:[s," ",1===s?"entry":"entries"]})]});return l?(0,n.jsxs)("button",{type:"button",onClick:r,className:"group flex items-center gap-3 py-3 px-4 w-full cursor-pointer",children:[(0,n.jsx)("div",{className:"flex-1 h-px bg-primary/30"}),i,(0,n.jsx)("div",{className:"flex-1 h-px bg-primary/30"})]}):(0,n.jsxs)("div",{className:"flex items-center gap-3 py-3 px-4",children:[(0,n.jsx)("div",{className:"flex-1 h-px bg-primary/30"}),i,(0,n.jsx)("div",{className:"flex-1 h-px bg-primary/30"})]})});var X=e.i(47163);let Q={user:"User",assistant:"Assistant","file-history-snapshot":"Snapshot",progress:"Progress",system:"System","queue-operation":"Queue"},Z={user:"bg-[color:var(--chart-1)]/20 text-[color:var(--chart-1)] border-[color:var(--chart-1)]/30",assistant:"bg-[color:var(--chart-2)]/20 text-[color:var(--chart-2)] border-[color:var(--chart-2)]/30","file-history-snapshot":"bg-[color:var(--chart-3)]/20 text-[color:var(--chart-3)] border-[color:var(--chart-3)]/30",progress:"bg-[color:var(--chart-5)]/20 text-[color:var(--chart-5)] border-[color:var(--chart-5)]/30",system:"bg-[color:var(--chart-4)]/20 text-[color:var(--chart-4)] border-[color:var(--chart-4)]/30","queue-operation":"bg-primary/20 text-primary border-primary/30"},ee={user:"border-l-[color:var(--chart-1)]",assistant:"border-l-[color:var(--chart-2)]","file-history-snapshot":"border-l-[color:var(--chart-3)]",progress:"border-l-[color:var(--chart-5)]",system:"border-l-[color:var(--chart-4)]","queue-operation":"border-l-primary"},et={name:"file-text",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};et.node;let es=(0,_.f)(et),en={name:"activity",size:24,node:[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]};en.node;let er=(0,_.f)(en);var el=e.i(66794);function ei({type:e}){let t="w-4 h-4";switch(e){case"user":return(0,n.jsx)(I,{className:t});case"assistant":return(0,n.jsx)(z,{className:t});case"file-history-snapshot":return(0,n.jsx)(es,{className:t});case"progress":return(0,n.jsx)(er,{className:t});case"system":return(0,n.jsx)(el.f,{className:t});case"queue-operation":return(0,n.jsx)(H,{className:t})}}function eo({type:e}){return(0,n.jsxs)("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 text-xs font-mono rounded border ${Z[e]}`,children:[(0,n.jsx)(ei,{type:e}),Q[e]]})}var ea=e.i(24380);function eh({block:e}){let t=(0,r.useMemo)(()=>JSON.stringify(e.input,null,2),[e]);return(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("details",{open:!0,children:[(0,n.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:(0,n.jsxs)("span",{className:"inline-flex items-center gap-1",children:["Input",(0,n.jsx)(ea.CopyButton,{text:t})]})}),(0,n.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-64 overflow-y-auto",children:t})]}),e.result?(0,n.jsxs)("div",{className:"border-l-2 border-primary/50 pl-3 space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"inline-block px-2 py-0.5 text-xs font-mono rounded border bg-primary/20 text-primary border-primary/30",children:"Result"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:Y(new Date(e.result.timestamp).getTime())})]}),e.result.content&&(0,n.jsxs)("details",{open:!0,children:[(0,n.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:(0,n.jsxs)("span",{className:"inline-flex items-center gap-1",children:["Output",(0,n.jsx)(ea.CopyButton,{text:e.result.content})]})}),(0,n.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-48 overflow-y-auto",children:e.result.content})]}),e.result.images?.map((e,t)=>(0,n.jsx)("img",{src:`data:${e.mediaType};base64,${e.base64}`,alt:`Tool result image ${t+1}`,className:"mt-2 max-w-full rounded border border-border"},t))]}):(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:"Tool did not return a result"})]})}let ed={name:"brain",size:24,node:[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]};ed.node;let ec=(0,_.f)(ed),eu=r.default.memo(function({block:e,entriesBySource:t,projectName:s,sessionId:r,highlightedUuid:l,autoExpandForUuid:i}){switch(e.type){case"text":return(0,n.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:e.text});case"tool_use":if("Task"===e.name&&(e.subagentType||e.subagentId)){let o=e.subagentId&&t?t.get(`agent-${e.subagentId}`):void 0;return(0,n.jsx)(eb,{block:e,subagentEntries:o,projectName:s,sessionId:r,highlightedUuid:l,autoExpandForUuid:i})}return(0,n.jsxs)("div",{className:"border border-border/50 rounded-lg p-3 bg-muted/10",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,n.jsx)(k,{className:"w-4 h-4 text-primary flex-shrink-0"}),(0,n.jsx)("span",{className:"font-mono text-sm text-primary truncate min-w-0",children:e.name}),e.result&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground ml-auto flex-shrink-0",children:e.result.durationFormatted})]}),(0,n.jsx)(eh,{block:e})]});case"thinking":return(0,n.jsx)("div",{className:"border border-[color:var(--chart-5)]/30 rounded-lg p-3 bg-[color:var(--chart-5)]/5",children:(0,n.jsxs)("details",{children:[(0,n.jsxs)("summary",{className:"flex items-center gap-2 text-xs cursor-pointer hover:text-foreground transition-colors text-[color:var(--chart-5)]",children:[(0,n.jsx)(ec,{className:"w-4 h-4"}),(0,n.jsx)("span",{children:"Thinking"}),(0,n.jsxs)("span",{className:"text-muted-foreground ml-1",children:["(",e.thinking.length.toLocaleString()," chars)"]})]}),(0,n.jsx)("p",{className:"mt-2 whitespace-pre-wrap text-xs text-muted-foreground p-2 bg-muted/30 rounded max-h-64 overflow-y-auto",children:e.thinking})]})})}});function em({entry:e}){return(0,n.jsx)("div",{children:e.message.content&&(0,n.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:e.message.content})})}let ef=r.default.memo(function({entry:e,entriesBySource:t,projectName:s,sessionId:r,highlightedUuid:l,autoExpandForUuid:i}){let{content:o}=e.message;return(0,n.jsx)("div",{className:"space-y-3",children:o.map((e,o)=>(0,n.jsx)(eu,{block:e,entriesBySource:t,projectName:s,sessionId:r,highlightedUuid:l,autoExpandForUuid:i},o))})}),ep=r.default.memo(function({entry:e}){let t=(0,r.useMemo)(()=>{if("progress"===e.type){let t=e.raw.data,s=t?.agentId;return[t?.type,s&&`agent:${s}`].filter(Boolean).join(" | ")}return"file-history-snapshot"===e.type?"File history snapshot":e.type},[e.type,e.raw]);return(0,n.jsxs)("div",{className:"text-sm",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:t}),(0,n.jsxs)("details",{className:"mt-1",children:[(0,n.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:"Show raw JSON"}),(0,n.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-64 overflow-y-auto",children:K(e)})]})]})}),eg={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};eg.node;let ex=(0,_.f)(eg);var ey=e.i(55574);function ev({uuid:e}){let t=(0,r.useCallback)(async()=>{window.history.replaceState(null,"",`#entry-${e}`);try{await navigator.clipboard.writeText(window.location.href)}catch{let e=document.createElement("textarea");e.value=window.location.href,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}(0,ey.toast)("Link copied")},[e]);return(0,n.jsx)("button",{onClick:t,title:"Copy link to entry",className:"inline-flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors opacity-0 group-hover:opacity-100 transition-opacity",children:(0,n.jsx)(ex,{className:"w-3.5 h-3.5"})})}function eb({block:e,subagentEntries:t,projectName:s,sessionId:l,highlightedUuid:i,autoExpandForUuid:o}){let a=!!(o&&t?.some(e=>e.uuid===o)),[h,d]=(0,r.useState)(a);(0,r.useEffect)(()=>{if(!a)return;let e=requestAnimationFrame(()=>d(!0));return()=>cancelAnimationFrame(e)},[a]);let c=(0,r.useCallback)(()=>{d(e=>!e)},[]),u=t&&t.length>0,m=(0,r.useMemo)(()=>E(t??[]),[t]);return(0,n.jsxs)("div",{className:"border border-border/50 rounded-lg p-3 bg-muted/10",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,n.jsx)(B,{className:"w-4 h-4 text-[color:var(--chart-5)]"}),(0,n.jsx)("span",{className:"font-mono text-sm text-[color:var(--chart-5)]",children:"Subagent"}),e.subagentType&&(0,n.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 text-xs font-mono rounded border bg-[color:var(--chart-5)]/20 text-[color:var(--chart-5)] border-[color:var(--chart-5)]/30",children:e.subagentType}),e.result&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground ml-auto",children:e.result.durationFormatted})]}),e.subagentDescription&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground mb-2",children:e.subagentDescription}),e.subagentId&&t&&(0,n.jsxs)("button",{onClick:c,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded border border-primary/30 bg-primary/10 text-primary hover:bg-primary/20 transition-colors mb-2",children:[(0,n.jsx)(V.f,{className:(0,X.f)("w-3 h-3 transition-transform",h&&"rotate-90")}),(0,n.jsxs)("span",{children:["agent-",e.subagentId]}),(0,n.jsx)("span",{className:"text-muted-foreground",children:h?"Collapse":"View subagent log"})]}),h&&(0,n.jsxs)("div",{className:"ml-4 pl-3 border-l-2 border-primary/30 mt-2 space-y-2",children:[t&&0===t.length&&(0,n.jsx)("div",{className:"text-xs text-muted-foreground py-2",children:"No entries found in subagent log."}),u&&(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(q,{entries:t,compact:!0})}),t&&t.map(e=>"queue-operation"===e.type?(0,n.jsx)(J,{entry:e},m.get(e)):(0,n.jsx)(ej,{entry:e,projectName:s,sessionId:l,isHighlighted:!!i&&e.uuid===i},m.get(e)))]}),(0,n.jsx)(eh,{block:e})]})}function eS({entry:e,entriesBySource:t,projectName:s,sessionId:r,highlightedUuid:l,autoExpandForUuid:i}){switch(e.type){case"user":return(0,n.jsx)(em,{entry:e});case"assistant":return(0,n.jsx)(ef,{entry:e,entriesBySource:t,projectName:s,sessionId:r,highlightedUuid:l,autoExpandForUuid:i});case"file-history-snapshot":case"progress":case"system":return(0,n.jsx)(ep,{entry:e})}}let ej=r.default.memo(function({entry:e,entriesBySource:t,projectName:s,sessionId:r,isHighlighted:l,highlightedUuid:i,autoExpandForUuid:o}){return(0,n.jsxs)("div",{id:e.uuid?`entry-${e.uuid}`:void 0,className:(0,X.f)(`group border-l-4 ${ee[e.type]} bg-card/50 rounded-r-lg mb-2 hover:bg-muted/30 transition-colors`,l&&"entry-highlighted"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-border/30",children:[(0,n.jsx)(eo,{type:e.type}),(0,n.jsxs)("div",{className:"flex items-center gap-1 ml-auto",children:[e.uuid&&(0,n.jsx)(ev,{uuid:e.uuid}),(0,n.jsx)(ea.CopyButton,{text:function(e){switch(e.type){case"user":return e.message.content;case"assistant":return e.message.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n");case"file-history-snapshot":case"progress":case"system":return K(e);case"queue-operation":return e.label}}(e)}),(0,n.jsx)("span",{className:"text-xs font-mono text-muted-foreground whitespace-nowrap",children:Y(e.timestampMs)})]})]}),(0,n.jsx)("div",{className:"px-4 py-3",children:(0,n.jsx)(eS,{entry:e,entriesBySource:t,projectName:s,sessionId:r,highlightedUuid:i,autoExpandForUuid:o})})]})},(e,t)=>e.entry===t.entry&&e.entriesBySource===t.entriesBySource&&e.projectName===t.projectName&&e.sessionId===t.sessionId&&e.isHighlighted===t.isHighlighted&&e.highlightedUuid===t.highlightedUuid&&e.autoExpandForUuid===t.autoExpandForUuid);var ew=e.i(23417),eM=e.i(84026),eN=e.i(29407),e_=e.i(16306),eO=e.i(82954),ek=e.i(73520),eE=e.i(85881);function eC({decision:e}){return"deny"===e?(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-red-500/10 text-red-400 border border-red-500/20",children:[(0,n.jsx)(eN.f,{className:"h-3 w-3"}),"Deny"]}):"instruct"===e?(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-amber-500/10 text-amber-400 border border-amber-500/20",children:[(0,n.jsx)(e_.f,{className:"h-3 w-3"}),"Instruct"]}):(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-emerald-500/10 text-emerald-400 border border-emerald-500/20",children:[(0,n.jsx)(eM.f,{className:"h-3 w-3"}),"Allow"]})}function eI({eventType:e}){return(0,n.jsx)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium bg-muted text-muted-foreground border border-border/50",children:e})}function eT({mode:e}){let t="default"===e;return(0,n.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium border ${t?"bg-sky-500/10 text-sky-400 border-sky-500/20":"bg-amber-500/10 text-amber-400 border-amber-500/20"}`,children:e})}function ez({ms:e}){return(0,n.jsx)("span",{className:`font-mono text-[0.7rem] ${e>500?"text-red-400":e>100?"text-amber-400":"text-muted-foreground"}`,children:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`})}function eA({value:e,onChange:t}){return(0,n.jsx)("div",{className:"inline-flex items-center rounded-md border border-border bg-muted/30 p-0.5",children:[{label:"All",value:""},{label:"Allow",value:"allow"},{label:"Instruct",value:"instruct"},{label:"Deny",value:"deny"}].map(s=>(0,n.jsx)("button",{onClick:()=>t(s.value),className:`px-2.5 py-1 text-[0.65rem] font-medium rounded transition-all ${e===s.value?"deny"===s.value?"bg-red-500/15 text-red-400 shadow-sm":"allow"===s.value?"bg-emerald-500/15 text-emerald-400 shadow-sm":"instruct"===s.value?"bg-amber-500/15 text-amber-400 shadow-sm":"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:s.label},s.value))})}function eF({item:e}){return(0,n.jsx)("tr",{children:(0,n.jsx)("td",{colSpan:9,className:"px-0 py-0",children:(0,n.jsxs)("div",{className:"px-6 py-3 bg-muted/20 border-t border-border/30 space-y-2 text-xs animate-expand",children:[(0,n.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-1.5",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Session ID: "}),(0,n.jsx)("span",{className:"font-mono text-foreground",children:e.sessionId??"—"}),e.sessionId&&(0,n.jsx)(ea.CopyButton,{text:e.sessionId})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"CWD: "}),(0,n.jsx)("span",{className:"font-mono text-foreground",children:e.cwd??"—"}),e.cwd&&(0,n.jsx)(ea.CopyButton,{text:e.cwd})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Transcript: "}),(0,n.jsx)("span",{className:"font-mono text-foreground break-all",children:e.transcriptPath??"—"}),e.transcriptPath?.startsWith("opencode-db://")&&(0,n.jsx)("span",{className:"text-muted-foreground ml-1",children:"(stored in opencode DB)"})]})]}),e.policyNames&&e.policyNames.length>1&&(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Policies: "}),(0,n.jsx)("span",{className:"font-mono text-foreground",children:e.policyNames.join(", ")})]}),e.reason&&(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Full reason: "}),(0,n.jsx)("span",{className:"text-foreground",children:e.reason})]})]})})})}function eR({sessionId:e,initialData:t}){let{intervalSec:s}=(0,eE.useAutoRefresh)(),[l,i]=(0,r.useState)(!1),[o,a]=(0,r.useState)(1),[h,d]=(0,r.useState)(t),[c,u]=(0,r.useState)(null),[m,f]=(0,r.useState)(""),[p,g]=(0,r.useState)(""),[x,y]=(0,r.useState)(""),v=(0,r.useRef)(null),b=(0,r.useRef)({filterDecision:m,filterEventType:p,filterPolicy:x});b.current={filterDecision:m,filterEventType:p,filterPolicy:x};let S=""!==m||""!==p||""!==x,j=(0,r.useCallback)(async t=>{try{let{filterDecision:s,filterEventType:n,filterPolicy:r}=b.current,l=await (0,ew.f)({sessionId:e,decision:s||void 0,eventType:n||void 0,policyName:r||void 0},t);d(l)}catch{}},[e]);(0,r.useEffect)(()=>{j(o);let e=setInterval(()=>j(o),s>0?1e3*s:5e3);return()=>clearInterval(e)},[o,j,s]),(0,r.useEffect)(()=>(v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{a(1),u(null),j(1)},300),()=>{v.current&&clearTimeout(v.current)}),[m,p,x]);let w=h.entries,M=h.totalPages;return(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{onClick:()=>i(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,n.jsx)(N.f,{className:`w-4 h-4 text-muted-foreground transition-transform ${l?"-rotate-90":""}`}),(0,n.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Hook Logs"})]}),!l&&(0,n.jsxs)("div",{className:"mt-2 bg-card border border-border rounded-lg overflow-hidden shadow-sm",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-4 py-2.5 border-b border-border bg-muted/20",children:[(0,n.jsx)(eA,{value:m,onChange:f}),(0,n.jsxs)("select",{value:p,onChange:e=>g(e.target.value),className:"h-7 rounded-md border border-border bg-background px-2 text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow",children:[(0,n.jsx)("option",{value:"",children:"All Events"}),(0,n.jsx)("option",{value:"PreToolUse",children:"PreToolUse"}),(0,n.jsx)("option",{value:"PostToolUse",children:"PostToolUse"}),(0,n.jsx)("option",{value:"SessionStart",children:"SessionStart"}),(0,n.jsx)("option",{value:"SessionEnd",children:"SessionEnd"}),(0,n.jsx)("option",{value:"UserPromptSubmit",children:"UserPromptSubmit"}),(0,n.jsx)("option",{value:"PermissionRequest",children:"PermissionRequest"})]}),(0,n.jsx)("div",{className:"relative",children:(0,n.jsx)("input",{type:"text",value:x,onChange:e=>y(e.target.value),placeholder:"Filter by policy…",className:"h-7 rounded-md border border-border bg-background px-2.5 text-xs text-foreground placeholder:text-muted-foreground w-44 focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow"})})]}),0===w.length?(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 px-4",children:[(0,n.jsx)(eO.f,{className:"h-10 w-10 text-muted-foreground/30"}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mt-3",children:S?"No matching hook events.":"No hook events found."})]}):(0,n.jsx)("div",{className:"overflow-x-auto",children:(0,n.jsxs)("table",{className:"w-full text-xs",children:[(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,n.jsx)("th",{className:"px-4 py-2.5 font-medium w-6"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Decision"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Event"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Tool"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Policy"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Reason"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Duration"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Mode"}),(0,n.jsx)("th",{className:"px-3 py-2.5 font-medium text-right",children:"Time"})]})}),(0,n.jsx)("tbody",{className:"divide-y divide-border/30",children:w.map((e,t)=>{let s="deny"===e.decision,l=c===t,i="instruct"===e.decision;return(0,n.jsxs)(r.default.Fragment,{children:[(0,n.jsxs)("tr",{onClick:()=>{u(e=>e===t?null:t)},className:`cursor-pointer transition-colors ${s?"bg-red-500/[0.03] hover:bg-red-500/[0.07] border-l-2 border-l-red-500/40":i?"bg-amber-500/[0.03] hover:bg-amber-500/[0.07] border-l-2 border-l-amber-500/40":t%2==0?"hover:bg-muted/30":"bg-muted/[0.04] hover:bg-muted/30"} ${l?"bg-muted/20":""}`,children:[(0,n.jsx)("td",{className:"px-4 py-2",children:(0,n.jsx)(N.f,{className:`h-3.5 w-3.5 text-muted-foreground transition-transform duration-150 ${l?"rotate-0":"-rotate-90"}`})}),(0,n.jsx)("td",{className:"px-3 py-2",children:(0,n.jsx)(eC,{decision:e.decision})}),(0,n.jsx)("td",{className:"px-3 py-2",children:(0,n.jsx)(eI,{eventType:e.eventType})}),(0,n.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:e.toolName??"—"}),(0,n.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:e.policyNames&&e.policyNames.length>1?(0,n.jsxs)("span",{title:e.policyNames.join(", "),children:[e.policyNames[0],(0,n.jsxs)("span",{className:"text-muted-foreground text-[0.6rem]",children:[" +",e.policyNames.length-1]})]}):e.policyName??"—"}),(0,n.jsx)("td",{className:"px-3 py-2 text-muted-foreground truncate max-w-[240px]",title:e.reason??"",children:e.reason??"—"}),(0,n.jsx)("td",{className:"px-3 py-2",children:(0,n.jsx)(ez,{ms:e.durationMs})}),(0,n.jsx)("td",{className:"px-3 py-2",children:e.permissionMode?(0,n.jsx)(eT,{mode:e.permissionMode}):"—"}),(0,n.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground whitespace-nowrap",title:new Date(e.timestamp).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}),children:(0,P.g)(e.timestamp)})]}),l&&(0,n.jsx)(eF,{item:e})]},`${e.timestamp}-${t}`)})})]})}),(0,n.jsx)(ek.f,{currentPage:o,totalPages:M,onPageChange:e=>{a(e),u(null)}})]})]})}function eW(e){let t=new Map;for(let s of e)if("assistant"===s.type)for(let e of s.message.content){if("tool_use"!==e.type||"Task"===e.name&&(e.subagentType||e.subagentId))continue;let s=t.get(e.name)||{count:0,totalDurationMs:0};s.count++,e.result?.durationMs&&(s.totalDurationMs+=e.result.durationMs),t.set(e.name,s)}return Array.from(t.entries()).map(([e,t])=>({name:e,...t})).sort((e,t)=>t.count-e.count)}function eL({tools:e,compact:t}){return(0,n.jsx)("div",{className:`bg-card border border-border rounded-lg ${t?"p-3":"p-4"}`,children:(0,n.jsx)("div",{className:`grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] ${t?"gap-2":"gap-3"}`,children:e.map(e=>(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,n.jsx)(k,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("div",{className:`${t?"text-xs":"text-sm"} font-mono font-medium truncate`,children:e.name}),(0,n.jsxs)("div",{className:"text-xs text-muted-foreground truncate",children:[e.count," call",1!==e.count?"s":"",e.totalDurationMs>0&&` \xb7 ${(e.totalDurationMs/1e3).toFixed(1)}s`]})]})]},e.name))})})}function e$(e,t){return t.get(e)??`${e.uuid}-${e.timestampMs}`}function eD(){let e=window.location.hash;return e.startsWith("#entry-")?e.slice(7):null}function eB({entries:e,entriesBySource:t,projectName:s,sessionId:i}){let o=(0,r.useMemo)(()=>Array.from(t.values()).flat(),[t]),[a,h]=(0,r.useState)(new Set),[d,c]=(0,r.useState)(0),[u,m]=(0,r.useState)(()=>eD()),f=(0,r.useRef)(void 0),g=(0,r.useRef)(!1),y=(0,r.useRef)(null);(0,r.useLayoutEffect)(()=>{let e=y.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().top+window.scrollY;c(e=>e===t?e:t)};t();let s=new ResizeObserver(t);return s.observe(document.body),window.addEventListener("resize",t),()=>{s.disconnect(),window.removeEventListener("resize",t)}},[]);let b=(0,r.useMemo)(()=>E(e),[e]),S=(0,r.useMemo)(()=>(function(e,t){let s=new Map,n=null,r=0;for(let l of e)"queue-operation"===l.type?(null!==n&&s.set(n,r),n=e$(l,t),r=0):null!==n&&r++;return null!==n&&s.set(n,r),s})(e,b),[e,b]),w=(0,r.useMemo)(()=>{let t;return t=!1,e.filter(e=>"queue-operation"===e.type?(t=a.has(e$(e,b)),!0):!t)},[e,a,b]),N=(0,r.useMemo)(()=>{let e=new Map;return w.forEach((t,s)=>{t.uuid&&e.set(t.uuid,s)}),e},[w]),_=(0,r.useMemo)(()=>(function(e){let t=new Map;for(let s of e)if("assistant"===s.type&&s.uuid)for(let e of s.message.content)"tool_use"===e.type&&"Task"===e.name&&e.subagentId&&t.set(e.subagentId,s.uuid);let s=new Map;for(let n of e){if(!n._source?.startsWith("agent-")||!n.uuid)continue;let e=n._source.slice(6),r=t.get(e);r&&s.set(n.uuid,r)}return s})(o),[o]),O=(0,r.useMemo)(()=>u&&_.has(u)?u:null,[u,_]),k=O?_.get(O)??null:null;(0,r.useEffect)(()=>{if(u)return f.current=setTimeout(()=>m(null),4e3),()=>{f.current&&clearTimeout(f.current)}},[]),(0,r.useEffect)(()=>{let e=()=>{let e=eD();m(e),g.current=!1,f.current&&clearTimeout(f.current),e&&(f.current=setTimeout(()=>m(null),4e3))};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);let C=(0,r.useMemo)(()=>{if(!u)return null;let t=k??u,s=e.some(e=>e.uuid===t),n=N.has(t);if(s&&!n){let s=null;for(let n of e)if("queue-operation"===n.type)s=e$(n,b);else if(n.uuid===t&&s)return s}return null},[u,k,e,N,b]);(0,r.useEffect)(()=>{if(!C)return;let e=requestAnimationFrame(()=>{h(e=>{if(!e.has(C))return e;let t=new Set(e);return t.delete(C),t})});return()=>cancelAnimationFrame(e)},[C]);let I=(0,r.useCallback)(e=>{h(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),T=(0,r.useCallback)(e=>b.get(w[e])??e,[b,w]),z=function({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:s="transform",...n}){let i=r.useReducer(e=>e+1,0)[1],o=r.useRef({enabled:t,mode:s,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});o.current.enabled=t,o.current.mode=s;let a=r.useRef(!1),h=e=>{let t=o.current;if(!t.enabled||!t.container)return;let s=e.getTotalSize();if(s!==t.lastSize){t.lastSize=s;let n=e.options.horizontal?"width":"height";t.container.style[n]=`${s}px`}},d=(e,t,s)=>{let n=o.current,r=!!e.options.horizontal,l=t.start-e.options.scrollMargin;n.lastPositions.get(s)!==l&&(n.lastPositions.set(s,l),"transform"===n.mode?s.style.transform=r?`translate3d(${l}px, 0, 0)`:`translate3d(0, ${l}px, 0)`:s.style[r?"left":"top"]=`${l}px`)},c=e=>{let t=o.current;if(t.enabled&&t.container)for(let t of(h(e),e.getVirtualItems())){let s=e.elementsCache.get(t.key);s&&d(e,t,s)}},u={...n,onChange:(t,s)=>{var r;let h=o.current,d=!0;if(h.enabled){c(t);let e=t.range,s=h.prevRange;(d=!s||s.isScrolling!==t.isScrolling||s.startIndex!==(null==e?void 0:e.startIndex)||s.endIndex!==(null==e?void 0:e.endIndex))&&(h.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}d&&(e&&s&&!a.current?(0,l.flushSync)(i):i()),null==(r=n.onChange)||r.call(n,t,s)}},[m]=r.useState(()=>{let e=new j(u),t=e.measureElement;return e.measureElement=s=>{a.current=!0;try{t(s)}finally{a.current=!1}let n=o.current;if(null!==s&&n.enabled&&n.container){let t=e.measurementsCache[e.indexFromElement(s)];t&&d(e,t,s)}},Object.assign(e,{containerRef:t=>{let s=o.current;s.container=t,s.lastSize=null,null!==t&&c(e)}})});return m.setOptions(u),M(()=>m._didMount(),[]),M(()=>(h(m),m._willUpdate())),M(()=>{c(m)}),m}({getScrollElement:()=>"u">typeof document?window:null,observeElementRect:p,observeElementOffset:x,scrollToFn:v,initialOffset:()=>"u">typeof document?window.scrollY:0,...{count:w.length,estimateSize:e=>(function(e){switch(e.type){case"queue-operation":return 48;case"user":return 90;case"assistant":return 80+120*e.message.content.length;default:return 100}})(w[e]),getItemKey:T,overscan:5,scrollMargin:d}});return(0,r.useEffect)(()=>{if(!u||g.current)return;let e=k??u,t=N.get(e);null!=t&&(g.current=!0,requestAnimationFrame(()=>{z.scrollToIndex(t,{align:"center"})}))},[u,k,N,z]),(0,n.jsx)("div",{ref:y,children:(0,n.jsx)("div",{style:{height:`${z.getTotalSize()}px`,width:"100%",position:"relative"},children:z.getVirtualItems().map(e=>{let r=w[e.index],l=!!u&&r.uuid===(k??u);return(0,n.jsx)("div",{"data-index":e.index,ref:z.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${e.start-z.options.scrollMargin}px)`},children:"queue-operation"===r.type?(0,n.jsx)(J,{entry:r,isCollapsed:a.has(e$(r,b)),entryCount:S.get(e$(r,b))??0,onToggle:()=>I(e$(r,b))}):(0,n.jsx)(ej,{entry:r,entriesBySource:t,projectName:s,sessionId:i,isHighlighted:!O&&l,highlightedUuid:O,autoExpandForUuid:O})},e.key)})})})}let eP=[];e.s(["default",0,function({entries:e,projectName:t,sessionId:s}){let l=(0,r.useMemo)(()=>{let t=new Map;for(let s of e){let e=t.get(s._source);e?e.push(s):t.set(s._source,[s])}return t},[e]),i=l.get("session")??eP,o=(0,r.useMemo)(()=>(function(e){let t=new Map;for(let s of e)if("assistant"===s.type)for(let e of s.message.content)"tool_use"===e.type&&"Task"===e.name&&e.subagentId&&(t.has(e.subagentId)||t.set(e.subagentId,{id:e.subagentId,type:e.subagentType||"unknown",description:e.subagentDescription||""}));return Array.from(t.values())})(e),[e]),a=(0,r.useMemo)(()=>eW(i),[i]),[h,d]=(0,r.useState)(!1),[c,u]=(0,r.useState)(new Set),[m,f]=(0,r.useState)(!1),[p,g]=(0,r.useState)(null);(0,r.useEffect)(()=>{(0,ew.f)({sessionId:s},1).then(e=>{e.entries.length>0&&g(e)}).catch(()=>{})},[s]),(0,r.useEffect)(()=>{let e=()=>{window.location.hash.startsWith("#entry-")&&f(!1)};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);let x=(0,r.useCallback)(e=>{u(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]);return(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)(q,{entries:i}),p&&(0,n.jsx)(eR,{sessionId:s,initialData:p},s),o.length>0&&(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("button",{onClick:()=>d(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,n.jsx)(N.f,{className:`w-4 h-4 text-muted-foreground transition-transform ${h?"-rotate-90":""}`}),(0,n.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Subagents"}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",o.length,")"]})]}),!h&&o.map(e=>{let t;return(0,n.jsxs)("div",{className:"pl-3 border-l-2 border-primary/30 space-y-2",children:[(0,n.jsxs)("button",{onClick:()=>x(e.id),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,n.jsx)(N.f,{className:`w-3.5 h-3.5 text-muted-foreground transition-transform ${c.has(e.id)?"-rotate-90":""}`}),(0,n.jsx)("span",{className:"text-sm font-bold",children:e.type}),e.description&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground truncate max-w-[400px]",children:e.description})]}),!c.has(e.id)&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(q,{entries:l.get(`agent-${e.id}`)||[],compact:!0}),(t=eW(l.get(`agent-${e.id}`)||[])).length>0?(0,n.jsx)(eL,{tools:t,compact:!0}):null]})]},e.id)})]}),a.length>0&&(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Tools"}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",a.reduce((e,t)=>e+t.count,0),")"]})]}),(0,n.jsx)(eL,{tools:a})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("button",{onClick:()=>f(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,n.jsx)(N.f,{className:`w-4 h-4 text-muted-foreground transition-transform ${m?"-rotate-90":""}`}),(0,n.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Logs"})]}),!m&&(0,n.jsx)("div",{className:"mt-2 bg-card border border-border rounded-lg p-4 shadow-sm",children:0===i.length?(0,n.jsx)("p",{className:"text-muted-foreground text-center py-8",children:"No entries found."}):(0,n.jsx)(eB,{entries:i,entriesBySource:l,projectName:t,sessionId:s})})]})]})}],36406)},5780,function(e){e.n(e.i(36406))}]);
|
|
@@ -36,11 +36,11 @@ wheels = [
|
|
|
36
36
|
|
|
37
37
|
[[package]]
|
|
38
38
|
name = "certifi"
|
|
39
|
-
version = "2026.
|
|
39
|
+
version = "2026.10.19"
|
|
40
40
|
source = { registry = "https://pypi.org/simple" }
|
|
41
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
41
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz", hash = "sha256:035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae", size = 137598, upload-time = "2026-10-20T02:24:16.604Z" }
|
|
42
42
|
wheels = [
|
|
43
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
43
|
+
{ url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl", hash = "sha256:42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b", size = 136464, upload-time = "2026-10-20T02:24:15.072Z" },
|
|
44
44
|
]
|
|
45
45
|
|
|
46
46
|
[[package]]
|
|
@@ -372,7 +372,7 @@ wheels = [
|
|
|
372
372
|
|
|
373
373
|
[[package]]
|
|
374
374
|
name = "posthog"
|
|
375
|
-
version = "7.
|
|
375
|
+
version = "7.71.0"
|
|
376
376
|
source = { registry = "https://pypi.org/simple" }
|
|
377
377
|
dependencies = [
|
|
378
378
|
{ name = "backoff" },
|
|
@@ -380,9 +380,9 @@ dependencies = [
|
|
|
380
380
|
{ name = "requests" },
|
|
381
381
|
{ name = "typing-extensions" },
|
|
382
382
|
]
|
|
383
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
383
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c6/9b/12e2e82fbbf5d70f554cfd1930631a6d1cce8975721ad50b5d7b47e580ff/posthog-7.71.0.tar.gz", hash = "sha256:00950999edf7f613a90015126bacc431d3ab3964a70d91c2f792e6a0dc81f358", size = 763019, upload-time = "2026-10-16T19:24:33.765Z" }
|
|
384
384
|
wheels = [
|
|
385
|
-
{ url = "https://files.pythonhosted.org/packages/8e/
|
|
385
|
+
{ url = "https://files.pythonhosted.org/packages/f5/8e/9b185e665800a922e95fb965fb9c17d2a54cee575cf5e425308250663393/posthog-7.71.0-py3-none-any.whl", hash = "sha256:52cb1320b7e178b36ef7594cf15b4a8c492c24d4d1c46700f5bee0089ba5c6ac", size = 892234, upload-time = "2026-10-16T19:24:31.706Z" },
|
|
386
386
|
]
|
|
387
387
|
|
|
388
388
|
[[package]]
|