actshield 0.9.0__py3-none-any.whl
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.
- actshield/__init__.py +439 -0
- actshield/__main__.py +46 -0
- actshield/agents/__init__.py +12 -0
- actshield/agents/agent.py +200 -0
- actshield/agents/identity.py +114 -0
- actshield/api/__init__.py +34 -0
- actshield/api/models.py +198 -0
- actshield/api/server.py +669 -0
- actshield/api/service.py +599 -0
- actshield/approval/__init__.py +15 -0
- actshield/approval/approval.py +164 -0
- actshield/cli/__init__.py +8 -0
- actshield/cli/graph.py +49 -0
- actshield/cli/main.py +802 -0
- actshield/cli/shell.py +406 -0
- actshield/cli/theme.py +110 -0
- actshield/client.py +757 -0
- actshield/config.py +88 -0
- actshield/context/__init__.py +14 -0
- actshield/context/context.py +161 -0
- actshield/context/provenance.py +108 -0
- actshield/context/taint.py +48 -0
- actshield/decisions/decision.py +74 -0
- actshield/delegation/__init__.py +11 -0
- actshield/delegation/authority.py +63 -0
- actshield/delegation/delegation.py +180 -0
- actshield/demo.py +139 -0
- actshield/doctor.py +94 -0
- actshield/drift/__init__.py +27 -0
- actshield/drift/drift_engine.py +149 -0
- actshield/drift/drift_models.py +63 -0
- actshield/evaluation/__init__.py +1 -0
- actshield/evaluation/cases/__init__.py +1 -0
- actshield/evaluation/eval_suite.py +254 -0
- actshield/forensics/__init__.py +53 -0
- actshield/forensics/access_graph.py +216 -0
- actshield/forensics/authority_graph.py +186 -0
- actshield/forensics/delegation_graph.py +119 -0
- actshield/forensics/explanation.py +254 -0
- actshield/forensics/models.py +488 -0
- actshield/forensics/queries.py +367 -0
- actshield/forensics/serializers.py +68 -0
- actshield/forensics/service.py +310 -0
- actshield/forensics/snapshots.py +174 -0
- actshield/gates/__init__.py +13 -0
- actshield/gates/gate_models.py +46 -0
- actshield/gates/security_gate.py +191 -0
- actshield/gateway/__init__.py +13 -0
- actshield/gateway/http.py +191 -0
- actshield/gateway/mcp.py +292 -0
- actshield/incidents/__init__.py +25 -0
- actshield/incidents/incident.py +94 -0
- actshield/incidents/incident_engine.py +163 -0
- actshield/incidents/incident_rules.py +116 -0
- actshield/incidents/incident_state.py +58 -0
- actshield/integrations/__init__.py +24 -0
- actshield/integrations/ai_secura.py +169 -0
- actshield/integrations/ai_secura_analysis.py +236 -0
- actshield/integrations/apiris.py +122 -0
- actshield/integrations/few_shot.py +104 -0
- actshield/integrations/ollama_adapter.py +538 -0
- actshield/integrations/prompts/__init__.py +1 -0
- actshield/integrations/prompts/examples/__init__.py +1 -0
- actshield/integrations/security_packet.py +82 -0
- actshield/llm_config.py +89 -0
- actshield/offensive/__init__.py +95 -0
- actshield/offensive/adaptive/__init__.py +22 -0
- actshield/offensive/adaptive/adaptive_engine.py +165 -0
- actshield/offensive/adaptive/attack_selector.py +51 -0
- actshield/offensive/adaptive/boundary_search.py +99 -0
- actshield/offensive/adaptive/campaign_memory.py +123 -0
- actshield/offensive/adaptive/feedback.py +84 -0
- actshield/offensive/adaptive/mutation_planner.py +57 -0
- actshield/offensive/attack.py +78 -0
- actshield/offensive/campaign.py +219 -0
- actshield/offensive/corpus.py +155 -0
- actshield/offensive/engine.py +466 -0
- actshield/offensive/evaluator.py +116 -0
- actshield/offensive/evidence.py +63 -0
- actshield/offensive/generator.py +128 -0
- actshield/offensive/mutation.py +101 -0
- actshield/offensive/results.py +77 -0
- actshield/offensive/safety.py +80 -0
- actshield/offensive/strategies/__init__.py +22 -0
- actshield/offensive/strategies/authority_escalation.py +100 -0
- actshield/offensive/strategies/base.py +34 -0
- actshield/offensive/strategies/context_manipulation.py +100 -0
- actshield/offensive/strategies/data_exfiltration.py +100 -0
- actshield/offensive/strategies/delegation_attacks.py +100 -0
- actshield/offensive/strategies/mcp_attacks.py +100 -0
- actshield/offensive/strategies/prompt_injection.py +100 -0
- actshield/offensive/strategies/tool_poisoning.py +100 -0
- actshield/offensive/target.py +113 -0
- actshield/offensive/vulnerable_target.py +121 -0
- actshield/persistence/__init__.py +18 -0
- actshield/persistence/siem.py +102 -0
- actshield/persistence/storage.py +240 -0
- actshield/policy/__init__.py +12 -0
- actshield/policy/evaluator.py +294 -0
- actshield/policy/intent.py +113 -0
- actshield/policy/policy.py +48 -0
- actshield/posture/__init__.py +26 -0
- actshield/posture/posture_engine.py +186 -0
- actshield/posture/posture_models.py +152 -0
- actshield/posture/posture_rules.py +137 -0
- actshield/providers/__init__.py +32 -0
- actshield/providers/anthropic_provider.py +146 -0
- actshield/providers/base.py +160 -0
- actshield/providers/gemini_provider.py +133 -0
- actshield/providers/null_provider.py +40 -0
- actshield/providers/ollama_provider.py +135 -0
- actshield/providers/openai_provider.py +142 -0
- actshield/providers/registry.py +244 -0
- actshield/py.typed +0 -0
- actshield/response/__init__.py +14 -0
- actshield/response/response_actions.py +39 -0
- actshield/response/response_audit.py +32 -0
- actshield/response/response_engine.py +139 -0
- actshield/risk/models.py +104 -0
- actshield/serve.py +117 -0
- actshield/static/404.html +1 -0
- actshield/static/__next.__PAGE__.txt +24 -0
- actshield/static/__next._full.txt +20 -0
- actshield/static/__next._tree.txt +4 -0
- actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_buildManifest.js +11 -0
- actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_clientMiddlewareManifest.js +1 -0
- actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_ssgManifest.js +1 -0
- actshield/static/_next/static/chunks/09kny2eqjc2or.js +1 -0
- actshield/static/_next/static/chunks/0c1zba1u9whdp.js +1 -0
- actshield/static/_next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- actshield/static/_next/static/chunks/0dbjjeg01x25o.js +1 -0
- actshield/static/_next/static/chunks/0duobs55ne238.js +1 -0
- actshield/static/_next/static/chunks/0iaz41l6068e4.js +1 -0
- actshield/static/_next/static/chunks/0mjhyv72x2idp.js +1 -0
- actshield/static/_next/static/chunks/0nelpqfu_ciq6.js +1 -0
- actshield/static/_next/static/chunks/0p1bci9ch797v.js +1 -0
- actshield/static/_next/static/chunks/0tld_ygho5tgm.js +1 -0
- actshield/static/_next/static/chunks/0w1-y7oni66j9.js +1 -0
- actshield/static/_next/static/chunks/10537zyl427zj.js +1 -0
- actshield/static/_next/static/chunks/11pc_jkl3aggn.js +1 -0
- actshield/static/_next/static/chunks/16k7nw0b3t8ys.js +1 -0
- actshield/static/_next/static/chunks/19mx3mg6lkumu.js +1 -0
- actshield/static/_next/static/chunks/1_8p47b-kxg2a.js +1 -0
- actshield/static/_next/static/chunks/1dszjozwfqegx.js +1 -0
- actshield/static/_next/static/chunks/1h43jcb90-m2r.js +22 -0
- actshield/static/_next/static/chunks/1ly04cvt_wh_j.js +1 -0
- actshield/static/_next/static/chunks/1odxrypuwuwp_.js +1 -0
- actshield/static/_next/static/chunks/1oes4c35qz5ku.js +1 -0
- actshield/static/_next/static/chunks/1ow883jl4ln-r.js +16 -0
- actshield/static/_next/static/chunks/1po7bna1as8tc.js +1 -0
- actshield/static/_next/static/chunks/1rsh0og8ifkzx.js +1 -0
- actshield/static/_next/static/chunks/1v0lwzv-859z_.js +1 -0
- actshield/static/_next/static/chunks/25iat2epwx25a.js +1 -0
- actshield/static/_next/static/chunks/25uvt4s2f39a4.js +1 -0
- actshield/static/_next/static/chunks/27t_qfc-3_lzs.js +1 -0
- actshield/static/_next/static/chunks/28bkmy8mez7gm.js +1 -0
- actshield/static/_next/static/chunks/2b6brmw_drw1p.js +1 -0
- actshield/static/_next/static/chunks/2fnhtxi4j6vge.js +1 -0
- actshield/static/_next/static/chunks/2p087eftxemg4.js +6 -0
- actshield/static/_next/static/chunks/2s8pao_z8pgtq.js +1 -0
- actshield/static/_next/static/chunks/2yj7ooc2c-zpg.js +1 -0
- actshield/static/_next/static/chunks/3-mrrr8udt5tk.js +1 -0
- actshield/static/_next/static/chunks/310vm2bl3xxpt.js +31 -0
- actshield/static/_next/static/chunks/35mvsv251jx1r.css +3 -0
- actshield/static/_next/static/chunks/370vf0oetlsx9.js +1 -0
- actshield/static/_next/static/chunks/3e-2m72tyo556.js +1 -0
- actshield/static/_next/static/chunks/3fntmmi971322.js +1 -0
- actshield/static/_next/static/chunks/3fzw-g0hycl2c.js +1 -0
- actshield/static/_next/static/chunks/3lopq3lhmcjxg.js +129 -0
- actshield/static/_next/static/chunks/3mpe2jejel0v2.css +1 -0
- actshield/static/_next/static/chunks/3t8o4f2lzr2sf.js +1 -0
- actshield/static/_next/static/chunks/3y-v1neyllne5.js +1 -0
- actshield/static/_next/static/chunks/43oiwy8mx6cs1.js +1 -0
- actshield/static/_next/static/chunks/turbopack-23wzuebcy_lxm.js +1 -0
- actshield/static/_next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
- actshield/static/_next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
- actshield/static/_next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
- actshield/static/_next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
- actshield/static/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
- actshield/static/_next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
- actshield/static/_next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
- actshield/static/_next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- actshield/static/_not-found/__next._full.txt +17 -0
- actshield/static/_not-found/__next._not-found/__PAGE__.txt +23 -0
- actshield/static/_not-found/__next._tree.txt +3 -0
- actshield/static/_not-found.html +1 -0
- actshield/static/_not-found.txt +17 -0
- actshield/static/access/matrix/__next._full.txt +24 -0
- actshield/static/access/matrix/__next._tree.txt +4 -0
- actshield/static/access/matrix/__next.access/matrix/__PAGE__.txt +30 -0
- actshield/static/access/matrix.html +1 -0
- actshield/static/access/matrix.txt +24 -0
- actshield/static/activity/__next._full.txt +22 -0
- actshield/static/activity/__next._tree.txt +4 -0
- actshield/static/activity/__next.activity/__PAGE__.txt +27 -0
- actshield/static/activity.html +1 -0
- actshield/static/activity.txt +22 -0
- actshield/static/agents/__next._full.txt +22 -0
- actshield/static/agents/__next._tree.txt +4 -0
- actshield/static/agents/__next.agents/__PAGE__.txt +27 -0
- actshield/static/agents.html +1 -0
- actshield/static/agents.txt +22 -0
- actshield/static/ai-secura/__next._full.txt +22 -0
- actshield/static/ai-secura/__next._tree.txt +4 -0
- actshield/static/ai-secura/__next.ai-secura/__PAGE__.txt +27 -0
- actshield/static/ai-secura.html +1 -0
- actshield/static/ai-secura.txt +22 -0
- actshield/static/api/__next._full.txt +22 -0
- actshield/static/api/__next._tree.txt +4 -0
- actshield/static/api/__next.api/__PAGE__.txt +27 -0
- actshield/static/api.html +15 -0
- actshield/static/api.txt +22 -0
- actshield/static/apiris/__next._full.txt +22 -0
- actshield/static/apiris/__next._tree.txt +4 -0
- actshield/static/apiris/__next.apiris/__PAGE__.txt +27 -0
- actshield/static/apiris.html +1 -0
- actshield/static/apiris.txt +22 -0
- actshield/static/attack-graph/__next._full.txt +23 -0
- actshield/static/attack-graph/__next._tree.txt +5 -0
- actshield/static/attack-graph/__next.attack-graph/__PAGE__.txt +28 -0
- actshield/static/attack-graph.html +2 -0
- actshield/static/attack-graph.txt +23 -0
- actshield/static/campaigns/__next._full.txt +22 -0
- actshield/static/campaigns/__next._tree.txt +4 -0
- actshield/static/campaigns/__next.campaigns/__PAGE__.txt +27 -0
- actshield/static/campaigns.html +1 -0
- actshield/static/campaigns.txt +22 -0
- actshield/static/context/__next._full.txt +22 -0
- actshield/static/context/__next._tree.txt +4 -0
- actshield/static/context/__next.context/__PAGE__.txt +27 -0
- actshield/static/context.html +1 -0
- actshield/static/context.txt +22 -0
- actshield/static/dashboard/__next._full.txt +22 -0
- actshield/static/dashboard/__next._tree.txt +4 -0
- actshield/static/dashboard/__next.dashboard/__PAGE__.txt +27 -0
- actshield/static/dashboard.html +1 -0
- actshield/static/dashboard.txt +22 -0
- actshield/static/delegations/__next._full.txt +22 -0
- actshield/static/delegations/__next._tree.txt +4 -0
- actshield/static/delegations/__next.delegations/__PAGE__.txt +27 -0
- actshield/static/delegations.html +1 -0
- actshield/static/delegations.txt +22 -0
- actshield/static/demo/__next._full.txt +22 -0
- actshield/static/demo/__next._tree.txt +4 -0
- actshield/static/demo/__next.demo/__PAGE__.txt +27 -0
- actshield/static/demo.html +1 -0
- actshield/static/demo.txt +22 -0
- actshield/static/drift/__next._full.txt +22 -0
- actshield/static/drift/__next._tree.txt +4 -0
- actshield/static/drift/__next.drift/__PAGE__.txt +27 -0
- actshield/static/drift.html +1 -0
- actshield/static/drift.txt +22 -0
- actshield/static/favicon.ico +0 -0
- actshield/static/file.svg +1 -0
- actshield/static/forensics/__next._full.txt +22 -0
- actshield/static/forensics/__next._tree.txt +4 -0
- actshield/static/forensics/__next.forensics/__PAGE__.txt +27 -0
- actshield/static/forensics.html +1 -0
- actshield/static/forensics.txt +22 -0
- actshield/static/globe.svg +1 -0
- actshield/static/incidents/__next._full.txt +22 -0
- actshield/static/incidents/__next._tree.txt +4 -0
- actshield/static/incidents/__next.incidents/__PAGE__.txt +27 -0
- actshield/static/incidents.html +1 -0
- actshield/static/incidents.txt +22 -0
- actshield/static/index.html +3 -0
- actshield/static/index.txt +20 -0
- actshield/static/logo.png +0 -0
- actshield/static/metrics/__next._full.txt +22 -0
- actshield/static/metrics/__next._tree.txt +4 -0
- actshield/static/metrics/__next.metrics/__PAGE__.txt +27 -0
- actshield/static/metrics.html +1 -0
- actshield/static/metrics.txt +22 -0
- actshield/static/next.svg +1 -0
- actshield/static/offensive/__next._full.txt +22 -0
- actshield/static/offensive/__next._tree.txt +4 -0
- actshield/static/offensive/__next.offensive/__PAGE__.txt +27 -0
- actshield/static/offensive.html +1 -0
- actshield/static/offensive.txt +22 -0
- actshield/static/policies/__next._full.txt +22 -0
- actshield/static/policies/__next._tree.txt +4 -0
- actshield/static/policies/__next.policies/__PAGE__.txt +27 -0
- actshield/static/policies.html +1 -0
- actshield/static/policies.txt +22 -0
- actshield/static/posture/__next._full.txt +22 -0
- actshield/static/posture/__next._tree.txt +4 -0
- actshield/static/posture/__next.posture/__PAGE__.txt +27 -0
- actshield/static/posture.html +1 -0
- actshield/static/posture.txt +22 -0
- actshield/static/regressions/__next._full.txt +22 -0
- actshield/static/regressions/__next._tree.txt +4 -0
- actshield/static/regressions/__next.regressions/__PAGE__.txt +27 -0
- actshield/static/regressions.html +1 -0
- actshield/static/regressions.txt +22 -0
- actshield/static/reports/__next._full.txt +22 -0
- actshield/static/reports/__next._tree.txt +4 -0
- actshield/static/reports/__next.reports/__PAGE__.txt +27 -0
- actshield/static/reports.html +1 -0
- actshield/static/reports.txt +22 -0
- actshield/static/resources/__next._full.txt +22 -0
- actshield/static/resources/__next._tree.txt +4 -0
- actshield/static/resources/__next.resources/__PAGE__.txt +27 -0
- actshield/static/resources.html +1 -0
- actshield/static/resources.txt +22 -0
- actshield/static/security-gates/__next._full.txt +22 -0
- actshield/static/security-gates/__next._tree.txt +4 -0
- actshield/static/security-gates/__next.security-gates/__PAGE__.txt +27 -0
- actshield/static/security-gates.html +1 -0
- actshield/static/security-gates.txt +22 -0
- actshield/static/settings/__next._full.txt +22 -0
- actshield/static/settings/__next._tree.txt +4 -0
- actshield/static/settings/__next.settings/__PAGE__.txt +27 -0
- actshield/static/settings.html +1 -0
- actshield/static/settings.txt +22 -0
- actshield/static/tasks/__next._full.txt +22 -0
- actshield/static/tasks/__next._tree.txt +4 -0
- actshield/static/tasks/__next.tasks/__PAGE__.txt +27 -0
- actshield/static/tasks.html +1 -0
- actshield/static/tasks.txt +22 -0
- actshield/static/threats/__next._full.txt +22 -0
- actshield/static/threats/__next._tree.txt +4 -0
- actshield/static/threats/__next.threats/__PAGE__.txt +27 -0
- actshield/static/threats.html +1 -0
- actshield/static/threats.txt +22 -0
- actshield/static/tools/__next._full.txt +22 -0
- actshield/static/tools/__next._tree.txt +4 -0
- actshield/static/tools/__next.tools/__PAGE__.txt +27 -0
- actshield/static/tools.html +1 -0
- actshield/static/tools.txt +22 -0
- actshield/static/traces/__next._full.txt +22 -0
- actshield/static/traces/__next._tree.txt +4 -0
- actshield/static/traces/__next.traces/__PAGE__.txt +27 -0
- actshield/static/traces.html +1 -0
- actshield/static/traces.txt +22 -0
- actshield/static/vercel.svg +1 -0
- actshield/static/window.svg +1 -0
- actshield/tasks/__init__.py +6 -0
- actshield/tasks/task.py +143 -0
- actshield/threatmodel/__init__.py +70 -0
- actshield/threatmodel/actors.py +210 -0
- actshield/threatmodel/analyzer.py +131 -0
- actshield/threatmodel/assets.py +167 -0
- actshield/threatmodel/boundaries.py +165 -0
- actshield/threatmodel/exporters.py +49 -0
- actshield/threatmodel/mitigations.py +209 -0
- actshield/threatmodel/models.py +80 -0
- actshield/threatmodel/report.py +341 -0
- actshield/threatmodel/scenarios.py +212 -0
- actshield/threatmodel/scoring.py +66 -0
- actshield/threatmodel/threats.py +387 -0
- actshield/tools/__init__.py +20 -0
- actshield/tools/interceptor.py +256 -0
- actshield/tools/tool.py +71 -0
- actshield/tracing/__init__.py +38 -0
- actshield/tracing/correlation.py +173 -0
- actshield/tracing/events.py +75 -0
- actshield/tracing/tracer.py +305 -0
- actshield/watch.py +129 -0
- actshield-0.9.0.dist-info/METADATA +57 -0
- actshield-0.9.0.dist-info/RECORD +366 -0
- actshield-0.9.0.dist-info/WHEEL +5 -0
- actshield-0.9.0.dist-info/entry_points.txt +4 -0
- actshield-0.9.0.dist-info/top_level.txt +2 -0
- agentguard/__init__.py +39 -0
- agentguard/__main__.py +8 -0
- agentguard/py.typed +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},72383,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return _},ErrorBoundaryHandler:function(){return y}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(90809),a=e.r(43476),i=o._(e.r(71645)),l=e.r(90373),s=e.r(65713);e.r(78377);let c=e.r(12354),f=e.r(82604),d=e.r(8372),p="u">typeof window&&(0,f.isBot)(window.navigator.userAgent);class y extends i.default.Component{static{this.contextType=d.AppRouterContext}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.retry=()=>{(0,i.startTransition)(()=>{this.context?.refresh(),this.reset()})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,s.isNextRouterError)(e))throw e;return{error:{thrownValue:e}}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){if(this.state.error&&!p){let e=this.state.error.thrownValue;return(0,c.handleISRError)({error:e}),(0,a.jsxs)(a.Fragment,{children:[this.props.errorStyles,this.props.errorScripts,(0,a.jsx)(this.props.errorComponent,{error:e,reset:this.reset,retry:this.retry})]})}return this.props.children}}function _({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let u=(0,l.useUntrackedPathname)();return e?(0,a.jsx)(y,{pathname:u,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,a.jsx)(a.Fragment,{children:n})}("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)},12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"handleISRError",{enumerable:!0,get:function(){return u}});let n=e.r(1425);function u({error:e}){if(n.workAsyncStorage){let t=n.workAsyncStorage.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}}("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)},54394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return o},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return i},getAccessFallbackErrorTypeByStatus:function(){return c},getAccessFallbackHTTPStatus:function(){return s},isHTTPAccessFallbackError:function(){return l}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},a=new Set(Object.values(o)),i="NEXT_HTTP_ERROR_FALLBACK";function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===i&&a.has(Number(r))}function s(e){return Number(e.digest.split(";")[1])}function c(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("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)},65713,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return o}});let n=e.r(54394),u=e.r(68391);function o(e){return(0,u.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("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)},78377,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return a},useNavFailureHandler:function(){return i}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});e.r(71645);let o=e.r(51191);function a(e){return"u">typeof window&&!!window.next.__pendingUrl&&(0,o.createHrefFromUrl)(new URL(window.location.href))!==(0,o.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function i(){}("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)},14502,(e,t,r)=>{"use strict";let n,u;Object.defineProperty(r,"__esModule",{value:!0});var o={useDynamicRouteParams:function(){return n},useDynamicSearchParams:function(){return u}};for(var a in o)Object.defineProperty(r,a,{enumerable:!0,get:o[a]});("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)},13957,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ServerInsertedHTMLContext:function(){return a},useServerInsertedHTML:function(){return i}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(90809)._(e.r(71645)),a=o.default.createContext(null);function i(e){let t=(0,o.useContext)(a);t&&t(e)}},90373,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return a}});let n=e.r(71645),u=e.r(61994),o=e.r(1425);function a(){return!function(){if("u"<typeof window){let e=o.workUnitAsyncStorage.getStore();if(!e)return!1;switch(e.type){case"prerender":case"prerender-client":case"prerender-ppr":case"validation-client":let t=e.fallbackRouteParams;return!!t&&t.size>0}}return!1}()?(0,n.useContext)(u.PathnameContext):null}("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)},22783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=e.r(54394),u=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function o(){let e=Object.defineProperty(Error(u),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=u,e}("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)},79854,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("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)},22683,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("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)},3680,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return u}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class u extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("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)},58442,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return d}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(90809),a=e.r(43476),i=o._(e.r(71645)),l=e.r(76562),s=e.r(24063),c=e.r(68391);function f({redirect:e,reset:t,redirectType:r}){let n=(0,l.useRouter)();return(0,i.useEffect)(()=>{i.default.startTransition(()=>{"push"===r?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class d extends i.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,c.isRedirectError)(e)){let t=(0,s.getURLFromRedirectError)(e),r=(0,s.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,a.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,l.useRouter)();return(0,a.jsx)(d,{router:t,children:e})}("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)},70725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRouterCacheKey",{enumerable:!0,get:function(){return u}});let n=e.r(13258);function u(e,t=!1){return Array.isArray(e)?`${e[0]}|${e[1]}|${e[2]}`:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("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)},1425,(e,t,r)=>{"use strict";let n,u,o;Object.defineProperty(r,"__esModule",{value:!0});var a={actionAsyncStorage:function(){return n},workAsyncStorage:function(){return u},workUnitAsyncStorage:function(){return o}};for(var i in a)Object.defineProperty(r,i,{enumerable:!0,get:a[i]});("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)},1244,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("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)},15507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,u.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(32061),u=e.r(65713);("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)},92805,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return o.ReadonlyURLSearchParams},RedirectType:function(){return d},forbidden:function(){return l.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return a.permanentRedirect},redirect:function(){return a.redirect},unauthorized:function(){return s.unauthorized},unstable_isUnrecognizedActionError:function(){return f},unstable_rethrow:function(){return c.unstable_rethrow}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(3680),a=e.r(24063),i=e.r(22783),l=e.r(79854),s=e.r(22683),c=e.r(15507);function f(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let d={push:"push",replace:"replace"};("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)},76562,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return d.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},forbidden:function(){return d.forbidden},notFound:function(){return d.notFound},permanentRedirect:function(){return d.permanentRedirect},redirect:function(){return d.redirect},unauthorized:function(){return d.unauthorized},unstable_isUnrecognizedActionError:function(){return f.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return d.unstable_rethrow},useParams:function(){return v},usePathname:function(){return h},useRouter:function(){return m},useSearchParams:function(){return b},useSelectedLayoutSegment:function(){return R},useSelectedLayoutSegments:function(){return O},useServerInsertedHTML:function(){return c.useServerInsertedHTML}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(90809)._(e.r(71645)),a=e.r(8372),i=e.r(61994),l=e.r(13258),s=e.r(14502),c=e.r(13957),f=e.r(92838),d=e.r(92805),{instrumentParamsForClientValidation:p,instrumentSearchParamsForClientValidation:y,expectCompleteParamsInClientValidation:_}={};function b(){s.useDynamicSearchParams?.("useSearchParams()");let e=(0,o.useContext)(i.SearchParamsContext);return(0,o.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e])}function h(){return s.useDynamicRouteParams?.("usePathname()"),(0,o.useContext)(i.PathnameContext)}function m(){let e=(0,o.useContext)(a.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});let t=(0,o.useContext)(a.LayoutRouterContext),r=t?.parentCacheNode.bfcacheId??0;return(0,o.useMemo)(()=>({back:e.back,forward:e.forward,refresh:e.refresh,hmrRefresh:e.hmrRefresh,push:e.push,replace:e.replace,prefetch:e.prefetch,experimental_gesturePush:e.experimental_gesturePush,bfcacheId:"_b_"+r+"_"}),[e,r])}function v(){return s.useDynamicRouteParams?.("useParams()"),(0,o.useContext)(i.PathParamsContext)}function O(e="children"){s.useDynamicRouteParams?.("useSelectedLayoutSegments()");let t=(0,o.useContext)(a.LayoutRouterContext);return t?(0,l.getSelectedLayoutSegmentPath)(t.parentTree,e):null}function R(e="children"){s.useDynamicRouteParams?.("useSelectedLayoutSegment()"),(0,o.useContext)(i.NavigationPromisesContext);let t=O(e);return(0,l.computeSelectedLayoutSegment)(t,e)}("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)},35451,(e,t,r)=>{var n={156:function(e){var t,r,n,u=e.exports={};function o(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var l=[],s=!1,c=-1;function f(){s&&n&&(s=!1,n.length?l=n.concat(l):c=-1,l.length&&d())}function d(){if(!s){var e=i(f);s=!0;for(var t=l.length;t;){for(n=l,l=[];++c<t;)n&&n[c].run();c=-1,t=l.length}n=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function y(){}u.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];l.push(new p(e,t)),1!==l.length||s||i(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=y,u.addListener=y,u.once=y,u.off=y,u.removeListener=y,u.removeAllListeners=y,u.emit=y,u.prependListener=y,u.prependOnceListener=y,u.listeners=function(e){return[]},u.binding=function(e){throw Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(e){throw Error("process.chdir is not supported")},u.umask=function(){return 0}}},u={};function o(e){var t=u[e];if(void 0!==t)return t.exports;var r=u[e]={exports:{}},a=!0;try{n[e](r,r.exports,o),a=!1}finally{a&&delete u[e]}return r.exports}o.ab="/ROOT/node_modules/next/dist/compiled/process/",t.exports=o(156)},47167,(e,t,r)=>{"use strict";var n,u;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(u=e.g.process)?void 0:u.env)?e.g.process:e.r(35451)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function u(e,t,r){var u=null;if(void 0!==r&&(u=""+r),void 0!==t.key&&(u=""+t.key),"key"in t)for(var o in r={},t)"key"!==o&&(r[o]=t[o]);else r=t;return{$$typeof:n,type:e,key:u,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=u,r.jsxs=u},43476,(e,t,r)=>{"use strict";e.i(47167),t.exports=e.r(45689)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),u=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),_=Symbol.for("react.activity"),b=Symbol.for("react.view_transition"),h=Symbol.iterator,m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,O={};function R(e,t,r){this.props=e,this.context=t,this.refs=O,this.updater=r||m}function E(){}function g(e,t,r){this.props=e,this.context=t,this.refs=O,this.updater=r||m}R.prototype.isReactComponent={},R.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},R.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=R.prototype;var j=g.prototype=new E;j.constructor=g,v(j,R.prototype),j.isPureReactComponent=!0;var P=Array.isArray;function T(){}var S={H:null,A:null,T:null,S:null},x=Object.prototype.hasOwnProperty;function w(e,t,r){var n=r.ref;return{$$typeof:u,type:e,key:t,ref:void 0!==n?n:null,props:r}}function M(e){return"object"==typeof e&&null!==e&&e.$$typeof===u}var A=/\/+/g;function C(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function N(e,t,r){if(null==e)return e;var n=[],a=0;return!function e(t,r,n,a,i){var l,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case u:case o:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,a,i)}}if(d)return i=i(t),d=""===a?"."+C(t,0):a,P(i)?(n="",null!=d&&(n=d.replace(A,"$&/")+"/"),e(i,r,n,"",function(e){return e})):null!=i&&(M(i)&&(l=i,s=n+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(A,"$&/")+"/")+d,i=w(l.type,s,l.props)),r.push(i)),1;d=0;var p=""===a?".":a+":";if(P(t))for(var _=0;_<t.length;_++)f=p+C(a=t[_],_),d+=e(a,r,n,f,i);else if("function"==typeof(_=null===(c=t)||"object"!=typeof c?null:"function"==typeof(c=h&&c[h]||c["@@iterator"])?c:null))for(t=_.call(t),_=0;!(a=t.next()).done;)f=p+C(a=a.value,_++),d+=e(a,r,n,f,i);else if("object"===f){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(T,T):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,n,a,i);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return d}(e,n,"","",function(e){return t.call(r,e,a++)}),n}function U(e){if(-1===e._status){var t=(0,e._result)();t.then(function(r){(0===e._status||-1===e._status)&&(e._status=1,e._result=r,void 0===t.status&&(t.status="fulfilled",t.value=r))},function(r){(0===e._status||-1===e._status)&&(e._status=2,e._result=r,void 0===t.status&&(t.status="rejected",t.reason=r))}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof n.default&&"function"==typeof n.default.emit)return void n.default.emit("uncaughtException",e);console.error(e)};function D(e){var t=S.T,r={};r.types=null!==t?t.types:null,S.T=r;try{var n=e(),u=S.S;null!==u&&u(r,n),"object"==typeof n&&null!==n&&"function"==typeof n.then&&n.then(T,L)}catch(e){L(e)}finally{null!==t&&null!==r.types&&(t.types=r.types),S.T=t}}function H(e){var t=S.T;if(null!==t){var r=t.types;null===r?t.types=[e]:-1===r.indexOf(e)&&r.push(e)}else D(H.bind(null,e))}r.Activity=_,r.Children={map:N,forEach:function(e,t,r){N(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!M(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=R,r.Fragment=a,r.Profiler=l,r.PureComponent=g,r.StrictMode=i,r.Suspense=d,r.ViewTransition=b,r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=S,r.__COMPILER_RUNTIME={__proto__:null,c:function(e){return S.H.useMemoCache(e)}},r.addTransitionType=H,r.cache=function(e){return function(){return e.apply(null,arguments)}},r.cacheSignal=function(){return null},r.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var n=v({},e.props),u=e.key;if(null!=t)for(o in void 0!==t.key&&(u=""+t.key),t)x.call(t,o)&&"key"!==o&&"__self"!==o&&"__source"!==o&&("ref"!==o||void 0!==t.ref)&&(n[o]=t[o]);var o=arguments.length-2;if(1===o)n.children=r;else if(1<o){for(var a=Array(o),i=0;i<o;i++)a[i]=arguments[i+2];n.children=a}return w(e.type,u,n)},r.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:s,_context:e},e},r.createElement=function(e,t,r){var n,u={},o=null;if(null!=t)for(n in void 0!==t.key&&(o=""+t.key),t)x.call(t,n)&&"key"!==n&&"__self"!==n&&"__source"!==n&&(u[n]=t[n]);var a=arguments.length-2;if(1===a)u.children=r;else if(1<a){for(var i=Array(a),l=0;l<a;l++)i[l]=arguments[l+2];u.children=i}if(e&&e.defaultProps)for(n in a=e.defaultProps)void 0===u[n]&&(u[n]=a[n]);return w(e,o,u)},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:f,render:e}},r.isValidElement=M,r.lazy=function(e){return{$$typeof:y,_payload:{_status:-1,_result:e},_init:U}},r.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},r.startTransition=D,r.unstable_useCacheRefresh=function(){return S.H.useCacheRefresh()},r.use=function(e){return S.H.use(e)},r.useActionState=function(e,t,r){return S.H.useActionState(e,t,r)},r.useCallback=function(e,t){return S.H.useCallback(e,t)},r.useContext=function(e){return S.H.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e,t){return S.H.useDeferredValue(e,t)},r.useEffect=function(e,t){return S.H.useEffect(e,t)},r.useEffectEvent=function(e){return S.H.useEffectEvent(e)},r.useId=function(){return S.H.useId()},r.useImperativeHandle=function(e,t,r){return S.H.useImperativeHandle(e,t,r)},r.useInsertionEffect=function(e,t){return S.H.useInsertionEffect(e,t)},r.useLayoutEffect=function(e,t){return S.H.useLayoutEffect(e,t)},r.useMemo=function(e,t){return S.H.useMemo(e,t)},r.useOptimistic=function(e,t){return S.H.useOptimistic(e,t)},r.useReducer=function(e,t,r){return S.H.useReducer(e,t,r)},r.useRef=function(e){return S.H.useRef(e)},r.useState=function(e){return S.H.useState(e)},r.useSyncExternalStore=function(e,t,r){return S.H.useSyncExternalStore(e,t,r)},r.useTransition=function(){return S.H.useTransition()},r.version="19.3.0-canary-cbb046ab-20260731"},71645,(e,t,r)=>{"use strict";e.i(47167),t.exports=e.r(50740)},54839,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={METADATA_BOUNDARY_NAME:function(){return o},OUTLET_BOUNDARY_NAME:function(){return i},ROOT_LAYOUT_BOUNDARY_NAME:function(){return l},VIEWPORT_BOUNDARY_NAME:function(){return a}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o="__next_metadata_boundary__",a="__next_viewport_boundary__",i="__next_outlet_boundary__",l="__next_root_layout_boundary__"},97367,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return i},OutletBoundary:function(){return s},RootLayoutBoundary:function(){return c},ViewportBoundary:function(){return l}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(54839),a={[o.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[o.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[o.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[o.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},i=a[o.METADATA_BOUNDARY_NAME.slice(0)],l=a[o.VIEWPORT_BOUNDARY_NAME.slice(0)],s=a[o.OUTLET_BOUNDARY_NAME.slice(0)],c=a[o.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},61994,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={NavigationPromisesContext:function(){return c},PathParamsContext:function(){return s},PathnameContext:function(){return l},ReadonlyURLSearchParams:function(){return a.ReadonlyURLSearchParams},SearchParamsContext:function(){return i},createDevToolsInstrumentedPromise:function(){return f}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(71645),a=e.r(3680),i=(0,o.createContext)(null),l=(0,o.createContext)(null),s=(0,o.createContext)(null),c=(0,o.createContext)(null);function f(e,t){let r=Promise.resolve(t);return r.status="fulfilled",r.value=t,r.displayName=`${e} (SSR)`,r}},32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return a},isBailoutToCSRError:function(){return i}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o="BAILOUT_TO_CLIENT_SIDE_RENDERING";class a extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=o}}function i(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63676,e=>{"use strict";var t=e.i(56420);let s={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};s.node;let a=(0,t.default)(s);e.s(["X",0,a],63676)},80001,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(62633),r=e.i(53138),l=e.i(79432),i=e.i(1725),n=e.i(237),d=e.i(85183),o=e.i(93230),c=e.i(72526),x=e.i(34239),m=e.i(31195),h=e.i(63849),p=e.i(31286),b=e.i(17492),u=e.i(31587),g=e.i(37757),f=e.i(68442),j=e.i(72854),N=e.i(32471),v=e.i(49744),y=e.i(3469);let w=[{time:"08:00",threat:.12,confidence:.95},{time:"09:00",threat:.31,confidence:.87},{time:"09:11",threat:.89,confidence:.92},{time:"09:30",threat:.45,confidence:.88},{time:"10:00",threat:.21,confidence:.94},{time:"10:30",threat:.82,confidence:.91},{time:"10:45",threat:.97,confidence:.96},{time:"11:00",threat:.18,confidence:.97}],C=[{dimension:"Prompt Inj.",score:87},{dimension:"Data Exfil",score:73},{dimension:"Auth Esc.",score:91},{dimension:"Tool Poison",score:65},{dimension:"Taint Leak",score:78},{dimension:"Intent Drift",score:84}],k=[{id:"ai_001",event_id:"evt_pinj_001",timestamp:"2026-09-19T10:45:00Z",intent_aligned:!1,threat_severity:.97,threat_category:"prompt_injection",confidence:.96,reasoning:"Detected adversarial instruction in MCP tool response. Original task intent (financial analysis) diverged from detected action intent (data exfiltration). High confidence manipulation pattern.",policy_overridden:!1,final_decision:"BLOCK"},{id:"ai_002",event_id:"evt_auth_001",timestamp:"2026-09-19T10:30:00Z",intent_aligned:!1,threat_severity:.82,threat_category:"authority_escalation",confidence:.91,reasoning:"Agent requested capabilities significantly exceeding delegated authority scope. Pattern consistent with privilege escalation attempt. Delegation graph analysis confirms violation.",policy_overridden:!1,final_decision:"BLOCK"},{id:"ai_003",event_id:"evt_q3_001",timestamp:"2026-09-19T08:05:00Z",intent_aligned:!0,threat_severity:.08,threat_category:null,confidence:.98,reasoning:"Task intent (Q3 financial analysis) aligns with all tool calls made. No taint propagation detected. Authority within delegated bounds.",policy_overridden:!1,final_decision:"ALLOW"}];e.s(["default",0,function(){let[e,A]=(0,s.useState)(""),[_,T]=(0,s.useState)(null),L=k.filter(t=>t.id.toLowerCase().includes(e.toLowerCase())||t.event_id.toLowerCase().includes(e.toLowerCase())||t.reasoning.toLowerCase().includes(e.toLowerCase())||t.threat_category&&t.threat_category.toLowerCase().includes(e.toLowerCase())),I=[{key:"id",header:"Analysis ID",render:e=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-6 h-6 rounded bg-purple-50 flex items-center justify-center text-purple-700 border border-purple-200",children:(0,t.jsx)(a.Brain,{size:12})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"font-mono text-xs font-semibold text-slate-900",children:e.id}),(0,t.jsx)("div",{className:"font-mono text-[10px] text-slate-500",children:e.event_id})]})]})},{key:"threat_category",header:"Threat Category",render:e=>(0,t.jsx)("span",{className:"text-xs font-mono text-slate-700 capitalize",children:e.threat_category?e.threat_category.replace(/_/g," "):"None (Benign)"})},{key:"threat_severity",header:"Threat Index",width:"120px",render:e=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-10 bg-slate-100 rounded-full h-1.5 overflow-hidden",children:(0,t.jsx)("div",{className:`h-full ${e.threat_severity>.7?"bg-red-500":"bg-emerald-500"}`,style:{width:`${100*e.threat_severity}%`}})}),(0,t.jsx)("span",{className:"font-mono text-xs text-slate-700",children:e.threat_severity.toFixed(2)})]})},{key:"confidence",header:"Confidence",width:"100px",render:e=>(0,t.jsx)("span",{className:"font-mono text-xs text-slate-600",children:`${(100*e.confidence).toFixed(0)}%`})},{key:"final_decision",header:"Policy Verdict",width:"120px",render:e=>(0,t.jsx)(j.StatusBadge,{status:e.final_decision})}];return(0,t.jsxs)("div",{className:"p-8 space-y-6 max-w-7xl mx-auto",children:[(0,t.jsx)(g.PageHeader,{title:"AI Secura Reasoning",subtitle:"Advisory semantic intent alignment and threat analysis. Deterministic policy maintains absolute enforcement authority",badge:"Semantic Engine",actions:(0,t.jsxs)("div",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded bg-purple-50 border border-purple-200 text-xs text-purple-800 font-medium",children:[(0,t.jsx)(l.Activity,{size:13,className:"text-purple-600"}),(0,t.jsx)("span",{children:"Local Reasoning Model Active"})]})}),(0,t.jsxs)("div",{className:"bg-amber-50/70 border border-amber-200 rounded-lg p-3.5 flex items-start gap-3",children:[(0,t.jsx)(r.AlertTriangle,{size:16,className:"text-amber-600 mt-0.5 flex-shrink-0"}),(0,t.jsxs)("div",{className:"text-xs text-amber-900 leading-relaxed",children:[(0,t.jsx)("span",{className:"font-semibold",children:"Architectural Invariant (AI Reasons, Policy Enforces):"})," AI Secura provides intent alignment signals, threat categorization, and anomaly scoring. All enforcement decisions are executed exclusively by the deterministic PolicyEvaluator. AI outputs can never override deterministic block rules."]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[(0,t.jsx)(f.MetricCard,{label:"Analyses (24h)",value:47}),(0,t.jsx)(f.MetricCard,{label:"High Threat Alerts",value:3,status:"BLOCK"}),(0,t.jsx)(f.MetricCard,{label:"Mean Confidence",value:"94.2%",status:"ALLOW"}),(0,t.jsx)(f.MetricCard,{label:"Policy Overrides",value:"0 (Zero AI Override)",status:"ALLOW"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,t.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg p-5 shadow-xs space-y-4",children:[(0,t.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider text-slate-500",children:"Threat Severity Timeline"}),(0,t.jsx)("div",{className:"h-56",children:(0,t.jsx)(m.ResponsiveContainer,{width:"100%",height:"100%",children:(0,t.jsxs)(i.AreaChart,{data:w,margin:{top:10,right:10,left:-20,bottom:0},children:[(0,t.jsx)(c.CartesianGrid,{strokeDasharray:"3 3",stroke:"#f1f5f9",vertical:!1}),(0,t.jsx)(d.XAxis,{dataKey:"time",stroke:"#94a3b8",fontSize:11}),(0,t.jsx)(o.YAxis,{stroke:"#94a3b8",fontSize:11}),(0,t.jsx)(x.Tooltip,{contentStyle:{backgroundColor:"#ffffff",borderColor:"#e2e8f0",borderRadius:"6px",fontSize:"11px"}}),(0,t.jsx)(n.Area,{type:"monotone",dataKey:"threat",stroke:"#dc2626",fill:"#fee2e2",name:"Threat Score"})]})})})]}),(0,t.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg p-5 shadow-xs space-y-4",children:[(0,t.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider text-slate-500",children:"Threat Dimension Coverage"}),(0,t.jsx)("div",{className:"h-56",children:(0,t.jsx)(m.ResponsiveContainer,{width:"100%",height:"100%",children:(0,t.jsxs)(h.RadarChart,{data:C,margin:{top:10,right:20,left:20,bottom:10},children:[(0,t.jsx)(p.PolarGrid,{stroke:"#e2e8f0"}),(0,t.jsx)(b.PolarAngleAxis,{dataKey:"dimension",stroke:"#64748b",fontSize:10}),(0,t.jsx)(u.Radar,{name:"Severity Index",dataKey:"score",stroke:"#8b5cf6",fill:"#c4b5fd",fillOpacity:.3})]})})})]})]}),(0,t.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg p-5 shadow-xs space-y-4",children:[(0,t.jsx)(N.FilterBar,{searchQuery:e,onSearchChange:A,searchPlaceholder:"Search AI reasoning traces..."}),(0,t.jsx)(v.DataTable,{columns:I,data:L,keyField:"id",onRowClick:e=>T(e),emptyMessage:"No AI analysis records matched your filter."})]}),(0,t.jsx)(y.DetailDrawer,{isOpen:!!_,onClose:()=>T(null),title:_?`Analysis: ${_.id}`:"",subtitle:_?`Event Ref: ${_.event_id}`:"",badge:_?(0,t.jsx)(j.StatusBadge,{status:_.final_decision}):null,children:_&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"p-3.5 bg-slate-50 border border-slate-200 rounded-lg space-y-1.5",children:[(0,t.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wider text-slate-500",children:"Semantic Reasoning Output"}),(0,t.jsx)("p",{className:"text-xs text-slate-800 leading-relaxed",children:_.reasoning})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 text-xs",children:[(0,t.jsxs)("div",{className:"p-3 bg-white border border-slate-200 rounded-lg",children:[(0,t.jsx)("span",{className:"text-slate-500 block mb-1",children:"Threat Category"}),(0,t.jsx)("span",{className:"font-mono font-semibold text-slate-800 capitalize",children:_.threat_category||"None"})]}),(0,t.jsxs)("div",{className:"p-3 bg-white border border-slate-200 rounded-lg",children:[(0,t.jsx)("span",{className:"text-slate-500 block mb-1",children:"Intent Alignment"}),(0,t.jsx)("span",{className:`font-semibold ${_.intent_aligned?"text-emerald-700":"text-red-700"}`,children:_.intent_aligned?"Aligned with Goal":"Intent Divergence Detected"})]})]})]})})]})}])},49744,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(56420);let r={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};r.node;let l=(0,a.default)(r);var i=e.i(67927);let n={name:"inbox",size:24,node:[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]};n.node;let d=(0,a.default)(n);e.s(["DataTable",0,function({columns:e,data:a,keyExtractor:r,keyField:n,onRowClick:o,selectedKey:c,emptyMessage:x="No records found",emptySubtext:m="Try adjusting your filters or search query.",pageSize:h=15,isLoading:p=!1}){let[b,u]=s.default.useState(1),g=Math.max(1,Math.ceil(a.length/h)),f=a.slice((b-1)*h,b*h);return s.default.useEffect(()=>{u(1)},[a.length]),(0,t.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg shadow-sm overflow-hidden flex flex-col",children:[(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-left border-collapse text-xs",children:[(0,t.jsx)("thead",{children:(0,t.jsx)("tr",{className:"bg-slate-50 border-b border-slate-200",children:e.map(e=>(0,t.jsx)("th",{style:{width:e.width},className:`px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] ${"right"===e.align?"text-right":"center"===e.align?"text-center":"text-left"}`,children:e.header},e.key))})}),(0,t.jsx)("tbody",{className:"divide-y divide-slate-100",children:p?(0,t.jsx)("tr",{children:(0,t.jsxs)("td",{colSpan:e.length,className:"py-12 text-center text-slate-400",children:[(0,t.jsx)("div",{className:"inline-block animate-spin rounded-full h-5 w-5 border-2 border-slate-300 border-t-sky-600 mb-2"}),(0,t.jsx)("div",{className:"text-xs",children:"Loading telemetry records…"})]})}):0===f.length?(0,t.jsx)("tr",{children:(0,t.jsxs)("td",{colSpan:e.length,className:"py-12 text-center",children:[(0,t.jsx)(d,{size:28,className:"mx-auto text-slate-300 mb-2"}),(0,t.jsx)("div",{className:"text-sm font-semibold text-slate-700",children:x}),(0,t.jsx)("div",{className:"text-xs text-slate-400 mt-0.5",children:m})]})}):f.map((s,a)=>{let l=r?r(s,a):n&&s[n]?String(s[n]):String(s.id||s.key||a),i=c===l;return(0,t.jsx)("tr",{onClick:()=>o&&o(s),className:`transition-colors ${i?"bg-sky-50/80 font-medium":"hover:bg-slate-50/80"} ${o?"cursor-pointer":""}`,children:e.map(e=>{let r=s[e.key],l=e.render?e.render(s,a):r;return(0,t.jsx)("td",{className:`px-3.5 py-2.5 text-slate-700 ${e.mono?"font-mono text-[11px]":""} ${"right"===e.align?"text-right":"center"===e.align?"text-center":"text-left"}`,children:l},e.key)})},l)})})]})}),a.length>h&&(0,t.jsxs)("div",{className:"px-4 py-2.5 border-t border-slate-200 bg-slate-50 flex items-center justify-between text-xs text-slate-500",children:[(0,t.jsxs)("div",{children:["Showing ",(0,t.jsx)("span",{className:"font-medium text-slate-800",children:(b-1)*h+1})," to"," ",(0,t.jsx)("span",{className:"font-medium text-slate-800",children:Math.min(b*h,a.length)})," ","of ",(0,t.jsx)("span",{className:"font-medium text-slate-800",children:a.length})," records"]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{onClick:()=>u(e=>Math.max(1,e-1)),disabled:1===b,className:"p-1 rounded border border-slate-200 bg-white text-slate-600 disabled:opacity-40 disabled:cursor-not-allowed hover:bg-slate-50 transition-colors",children:(0,t.jsx)(l,{size:14})}),(0,t.jsxs)("span",{className:"px-2 font-mono text-[11px]",children:[b," / ",g]}),(0,t.jsx)("button",{onClick:()=>u(e=>Math.min(g,e+1)),disabled:b===g,className:"p-1 rounded border border-slate-200 bg-white text-slate-600 disabled:opacity-40 disabled:cursor-not-allowed hover:bg-slate-50 transition-colors",children:(0,t.jsx)(i.ChevronRight,{size:14})})]})]})]})}],49744)},3469,e=>{"use strict";var t=e.i(43476),s=e.i(63676);e.s(["DetailDrawer",0,function({isOpen:e,onClose:a,title:r,subtitle:l,badge:i,children:n,footer:d,width:o="w-full md:w-[480px]"}){return e?(0,t.jsxs)("div",{className:"fixed inset-y-0 right-0 z-50 flex",children:[(0,t.jsx)("div",{className:"fixed inset-0 bg-slate-900/20 backdrop-blur-[1px] transition-opacity",onClick:a}),(0,t.jsxs)("div",{className:`relative ${o} bg-white shadow-2xl border-l border-slate-200 flex flex-col h-full z-10 transition-transform`,children:[(0,t.jsxs)("div",{className:"px-5 py-4 border-b border-slate-200 flex items-start justify-between gap-3 bg-slate-50/50",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h2",{className:"text-base font-semibold text-slate-900 truncate",children:r}),i]}),l&&(0,t.jsx)("p",{className:"text-xs text-slate-500 font-mono mt-0.5 truncate",children:l})]}),(0,t.jsx)("button",{onClick:a,className:"p-1 rounded-md text-slate-400 hover:text-slate-700 hover:bg-slate-100 transition-colors",children:(0,t.jsx)(s.X,{size:18})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-5 space-y-5 text-sm text-slate-700",children:n}),d&&(0,t.jsx)("div",{className:"px-5 py-3 border-t border-slate-200 bg-slate-50 flex items-center justify-end gap-2",children:d})]})]}):null}])},32471,e=>{"use strict";var t=e.i(43476),s=e.i(66595),a=e.i(95925);e.s(["FilterBar",0,function({searchQuery:e,onSearchChange:r,searchPlaceholder:l="Search records…",dropdowns:i,filters:n,onReset:d,activeCount:o,totalCount:c,actions:x}){let m=n||i;return(0,t.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg p-3 mb-4 shadow-sm flex flex-col md:flex-row md:items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2.5 flex-1",children:[r&&(0,t.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-sm",children:[(0,t.jsx)(s.Search,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-slate-400"}),(0,t.jsx)("input",{type:"text",value:e??"",onChange:e=>r(e.target.value),placeholder:l,className:"w-full pl-8 pr-3 py-1.5 text-xs bg-slate-50 border border-slate-200 rounded-md text-slate-800 placeholder:text-slate-400 focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all"})]}),m&&m.map(e=>(0,t.jsx)("div",{className:"flex items-center gap-1.5",children:(0,t.jsx)("select",{value:e.value,onChange:t=>e.onChange(t.target.value),className:"text-xs bg-slate-50 border border-slate-200 rounded-md px-2.5 py-1.5 text-slate-700 font-medium focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all cursor-pointer",children:e.options.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})},e.key||e.name||e.label)),d&&(0,t.jsxs)("button",{onClick:d,className:"flex items-center gap-1 text-xs text-slate-500 hover:text-slate-800 px-2 py-1.5 rounded hover:bg-slate-100 transition-colors",title:"Reset Filters",children:[(0,t.jsx)(a.RotateCcw,{size:12}),(0,t.jsx)("span",{children:"Reset"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 self-end md:self-auto text-xs text-slate-500",children:[void 0!==c&&(0,t.jsx)("span",{className:"font-mono text-slate-600",children:void 0!==o&&o!==c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("strong",{className:"text-slate-900",children:o})," of ",c]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("strong",{className:"text-slate-900",children:c})," total"]})}),x]})]})}])},68442,e=>{"use strict";var t=e.i(43476);e.s(["MetricCard",0,function({label:e,value:s,subtext:a,trend:r,status:l="neutral",icon:i,badge:n}){return(0,t.jsxs)("div",{className:`bg-white rounded-lg border border-slate-200 p-4 shadow-sm ${{healthy:"border-l-4 border-l-emerald-500",warning:"border-l-4 border-l-amber-500",critical:"border-l-4 border-l-red-500",neutral:"border-l-4 border-l-slate-300"}["ALLOW"===l||"MONITOR"===l||"healthy"===l?"healthy":"HITL"===l||"warning"===l?"warning":"BLOCK"===l||"critical"===l?"critical":"neutral"]} flex flex-col justify-between`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium tracking-wider uppercase text-slate-500",children:e}),i&&(0,t.jsx)(i,{size:16,className:"text-slate-400"}),n&&(0,t.jsx)("span",{className:"text-[10px] font-semibold px-1.5 py-0.5 rounded bg-slate-100 text-slate-700",children:n})]}),(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-2 mt-1",children:[(0,t.jsx)("div",{className:"text-2xl font-bold tracking-tight text-slate-900 font-mono",children:s}),r&&(0,t.jsx)("span",{className:`text-xs font-medium ${r.isNeutral?"text-slate-500":r.isPositive?"text-emerald-700":"text-red-700"}`,children:r.value})]}),a&&(0,t.jsx)("div",{className:"mt-2 text-xs text-slate-500 truncate",children:a})]})}])},37757,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(22016),r=e.i(67927);e.s(["PageHeader",0,function({title:e,description:l,subtitle:i,breadcrumbs:n,actions:d,badge:o}){let c=l||i;return(0,t.jsxs)("div",{className:"mb-6 pb-4 border-b border-slate-200",children:[n&&n.length>0&&(0,t.jsx)("nav",{className:"flex items-center gap-1.5 text-xs text-slate-500 mb-2",children:n.map((e,l)=>{let i=l===n.length-1;return(0,t.jsxs)(s.default.Fragment,{children:[l>0&&(0,t.jsx)(r.ChevronRight,{size:12,className:"text-slate-400"}),e.href&&!i?(0,t.jsx)(a.default,{href:e.href,className:"hover:text-slate-800 transition-colors",children:e.label}):(0,t.jsx)("span",{className:i?"text-slate-900 font-medium":"",children:e.label})]},l)})}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold text-slate-900 tracking-tight",children:e}),o&&(0,t.jsx)("div",{children:o})]}),c&&(0,t.jsx)("p",{className:"mt-1 text-xs text-slate-500 max-w-3xl leading-relaxed",children:c})]}),d&&(0,t.jsx)("div",{className:"flex items-center gap-2 flex-shrink-0",children:d})]})]})}])},72854,e=>{"use strict";var t=e.i(43476);function s({decision:e,status:a}){let r=(e||a||"").toUpperCase();return"BLOCK"===r||"DENY"===r||"BLOCKED"===r?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-red-50 text-red-700 border border-red-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-red-600"}),"BLOCK"]}):"ALLOW"===r||"ALLOWED"===r?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-emerald-50 text-emerald-700 border border-emerald-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-600"}),"ALLOW"]}):"HITL"===r||"APPROVAL_REQUIRED"===r?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-amber-50 text-amber-700 border border-amber-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-600"}),"HITL"]}):"MONITOR"===r||"AUDIT"===r?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-blue-50 text-blue-700 border border-blue-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-blue-600"}),"MONITOR"]}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-slate-100 text-slate-700 border border-slate-200",children:e||a||"UNKNOWN"})}e.s(["DecisionBadge",0,s,"SeverityBadge",0,function({severity:e}){let s=(e||"").toUpperCase();return"CRITICAL"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-red-50 text-red-700 border border-red-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-red-600"}),"CRITICAL"]}):"HIGH"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-orange-50 text-orange-700 border border-orange-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-orange-600"}),"HIGH"]}):"MEDIUM"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-amber-50 text-amber-700 border border-amber-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-600"}),"MEDIUM"]}):"LOW"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-blue-50 text-blue-700 border border-blue-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-blue-600"}),"LOW"]}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-slate-100 text-slate-600 border border-slate-200",children:e||"INFO"})},"StatusBadge",0,s,"TaintBadge",0,function({taint:e}){let s=(e||"").toUpperCase();return"TAINTED"===s||"CRITICAL"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-red-50 text-red-700 border border-red-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-red-600"}),"TAINTED"]}):"CLEAN"===s||"TRUSTED"===s||"NONE"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-emerald-50 text-emerald-700 border border-emerald-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500"}),"CLEAN"]}):(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-amber-50 text-amber-700 border border-amber-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500"}),e||"UNASSESSED"]})},"TrustBadge",0,function({trust:e}){let s=(e||"").toUpperCase();return"HIGH"===s||"TRUSTED"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-emerald-50 text-emerald-700 border border-emerald-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500"}),e]}):"MEDIUM"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-blue-50 text-blue-700 border border-blue-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-blue-500"}),"MEDIUM"]}):"LOW"===s||"UNTRUSTED"===s?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-red-50 text-red-700 border border-red-200",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-red-500"}),e]}):(0,t.jsx)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-medium bg-slate-100 text-slate-700 border border-slate-200",children:e||"UNKNOWN"})}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63676,e=>{"use strict";var t=e.i(56420);let s={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};s.node;let a=(0,t.default)(s);e.s(["X",0,a],63676)},8412,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(37757),l=e.i(32471),r=e.i(49744),n=e.i(3469);let d=[{task_id:"tsk_8891",agent_id:"orchestrator-001",description:"Coordinate multi-agent quarterly financial report pipeline",status:"COMPLETED",started_at:"15:10:00",completed_at:"15:15:32",actions_taken:14,actions_blocked:0,tool_calls:["read_file","query_db","generate_summary"],delegated_to:["research-agent-001","analysis-agent-001"]},{task_id:"tsk_8892",agent_id:"research-agent-001",description:"Perform financial market public query and SEC 10-K search",status:"IN_PROGRESS",started_at:"15:16:00",completed_at:null,actions_taken:5,actions_blocked:0,tool_calls:["sec_edgar.fetch_filing","web_search"],delegated_to:[]},{task_id:"tsk_8893",agent_id:"data-sync-002",description:"Attempt bulk export of customer PII to external cloud endpoint",status:"BLOCKED",started_at:"15:18:10",completed_at:"15:18:11",actions_taken:1,actions_blocked:1,tool_calls:["customer_db.read","http_post"],delegated_to:[]},{task_id:"tsk_8894",agent_id:"analysis-agent-001",description:"Compute risk metrics and render PDF executive summary",status:"COMPLETED",started_at:"15:20:00",completed_at:"15:22:45",actions_taken:8,actions_blocked:0,tool_calls:["finance_extract","pdf_render"],delegated_to:[]}];e.s(["default",0,function(){let[e,i]=(0,s.useState)(""),[o,c]=(0,s.useState)("ALL"),[x,m]=(0,s.useState)(d[0]),[h,p]=(0,s.useState)(!1),u=(0,s.useMemo)(()=>d.filter(t=>{if(e){let s=e.toLowerCase();if(!(t.task_id.toLowerCase().includes(s)||t.agent_id.toLowerCase().includes(s)||t.description.toLowerCase().includes(s)))return!1}return"ALL"===o||t.status===o}),[e,o]),b=[{key:"task_id",header:"Task ID",mono:!0,width:"120px",render:e=>(0,t.jsx)("span",{className:"font-semibold text-slate-900 hover:text-sky-700 underline decoration-slate-300",children:e.task_id})},{key:"status",header:"Status",width:"120px",render:e=>{let s="COMPLETED"===e.status?"bg-emerald-50 text-emerald-800 border-emerald-200":"IN_PROGRESS"===e.status?"bg-blue-50 text-blue-800 border-blue-200":"BLOCKED"===e.status?"bg-red-50 text-red-800 border-red-200":"bg-slate-100 text-slate-700 border-slate-200";return(0,t.jsx)("span",{className:`px-2 py-0.5 rounded text-[10px] font-bold border ${s}`,children:e.status})}},{key:"description",header:"Task Intent & Description",render:e=>(0,t.jsx)("span",{className:"font-medium text-slate-800",children:e.description})},{key:"agent_id",header:"Bound Agent",render:e=>(0,t.jsx)("span",{className:"font-mono text-[11px] text-slate-800 bg-slate-100 px-1.5 py-0.5 rounded",children:e.agent_id})},{key:"actions_taken",header:"Actions Taken",align:"center",width:"110px",render:e=>(0,t.jsx)("span",{className:"font-mono text-slate-700",children:e.actions_taken})},{key:"actions_blocked",header:"Blocked",align:"center",width:"90px",render:e=>(0,t.jsx)("span",{className:`font-mono font-semibold ${e.actions_blocked>0?"text-red-700":"text-slate-400"}`,children:e.actions_blocked})},{key:"started_at",header:"Started",mono:!0,align:"right",width:"90px",render:e=>(0,t.jsx)("span",{className:"text-slate-400",children:e.started_at})}];return(0,t.jsxs)("div",{className:"max-w-[1600px] mx-auto",children:[(0,t.jsx)(a.PageHeader,{title:"Agent Tasks",description:"Active and completed agent task lifecycles, intent bindings, and causal tool invocation telemetry.",breadcrumbs:[{label:"Operations",href:"/dashboard"},{label:"Tasks"}]}),(0,t.jsx)(l.FilterBar,{searchQuery:e,onSearchChange:i,searchPlaceholder:"Search task ID, agent, intent…",totalCount:d.length,activeCount:u.length,onReset:()=>{i(""),c("ALL")},dropdowns:[{name:"status",label:"Status",value:o,onChange:c,options:[{label:"All Statuses",value:"ALL"},{label:"COMPLETED",value:"COMPLETED"},{label:"IN_PROGRESS",value:"IN_PROGRESS"},{label:"BLOCKED",value:"BLOCKED"}]}]}),(0,t.jsx)(r.DataTable,{columns:b,data:u,keyExtractor:e=>e.task_id,onRowClick:e=>{m(e),p(!0)},selectedKey:x?.task_id}),(0,t.jsx)(n.DetailDrawer,{isOpen:h,onClose:()=>p(!1),title:`Task: ${x?.task_id}`,subtitle:x?.description,children:x&&(0,t.jsxs)("div",{className:"space-y-4 text-xs",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 p-3 bg-slate-50 border border-slate-200 rounded-lg",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-400 uppercase block",children:"STATUS"}),(0,t.jsx)("span",{className:"font-semibold text-slate-900",children:x.status})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-400 uppercase block",children:"AGENT"}),(0,t.jsx)("span",{className:"font-mono text-slate-900",children:x.agent_id})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-400 uppercase block",children:"STARTED AT"}),(0,t.jsx)("span",{className:"text-slate-700",children:x.started_at})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-400 uppercase block",children:"COMPLETED AT"}),(0,t.jsx)("span",{className:"text-slate-700",children:x.completed_at||"In execution"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-400 uppercase tracking-wider block mb-1.5",children:"Invoked Tools"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:x.tool_calls.map(e=>(0,t.jsx)("span",{className:"px-2 py-1 bg-slate-100 border border-slate-200 text-slate-800 font-mono text-[11px] rounded",children:e},e))})]}),x.delegated_to.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-[10px] font-bold text-slate-400 uppercase tracking-wider block mb-1.5",children:"Delegated Sub-Agents"}),(0,t.jsx)("div",{className:"space-y-1",children:x.delegated_to.map(e=>(0,t.jsx)("div",{className:"p-2 rounded bg-slate-50 border border-slate-200 font-mono text-slate-800",children:e},e))})]})]})})]})}])},49744,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(56420);let l={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};l.node;let r=(0,a.default)(l);var n=e.i(67927);let d={name:"inbox",size:24,node:[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]};d.node;let i=(0,a.default)(d);e.s(["DataTable",0,function({columns:e,data:a,keyExtractor:l,keyField:d,onRowClick:o,selectedKey:c,emptyMessage:x="No records found",emptySubtext:m="Try adjusting your filters or search query.",pageSize:h=15,isLoading:p=!1}){let[u,b]=s.default.useState(1),g=Math.max(1,Math.ceil(a.length/h)),f=a.slice((u-1)*h,u*h);return s.default.useEffect(()=>{b(1)},[a.length]),(0,t.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg shadow-sm overflow-hidden flex flex-col",children:[(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-left border-collapse text-xs",children:[(0,t.jsx)("thead",{children:(0,t.jsx)("tr",{className:"bg-slate-50 border-b border-slate-200",children:e.map(e=>(0,t.jsx)("th",{style:{width:e.width},className:`px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] ${"right"===e.align?"text-right":"center"===e.align?"text-center":"text-left"}`,children:e.header},e.key))})}),(0,t.jsx)("tbody",{className:"divide-y divide-slate-100",children:p?(0,t.jsx)("tr",{children:(0,t.jsxs)("td",{colSpan:e.length,className:"py-12 text-center text-slate-400",children:[(0,t.jsx)("div",{className:"inline-block animate-spin rounded-full h-5 w-5 border-2 border-slate-300 border-t-sky-600 mb-2"}),(0,t.jsx)("div",{className:"text-xs",children:"Loading telemetry records…"})]})}):0===f.length?(0,t.jsx)("tr",{children:(0,t.jsxs)("td",{colSpan:e.length,className:"py-12 text-center",children:[(0,t.jsx)(i,{size:28,className:"mx-auto text-slate-300 mb-2"}),(0,t.jsx)("div",{className:"text-sm font-semibold text-slate-700",children:x}),(0,t.jsx)("div",{className:"text-xs text-slate-400 mt-0.5",children:m})]})}):f.map((s,a)=>{let r=l?l(s,a):d&&s[d]?String(s[d]):String(s.id||s.key||a),n=c===r;return(0,t.jsx)("tr",{onClick:()=>o&&o(s),className:`transition-colors ${n?"bg-sky-50/80 font-medium":"hover:bg-slate-50/80"} ${o?"cursor-pointer":""}`,children:e.map(e=>{let l=s[e.key],r=e.render?e.render(s,a):l;return(0,t.jsx)("td",{className:`px-3.5 py-2.5 text-slate-700 ${e.mono?"font-mono text-[11px]":""} ${"right"===e.align?"text-right":"center"===e.align?"text-center":"text-left"}`,children:r},e.key)})},r)})})]})}),a.length>h&&(0,t.jsxs)("div",{className:"px-4 py-2.5 border-t border-slate-200 bg-slate-50 flex items-center justify-between text-xs text-slate-500",children:[(0,t.jsxs)("div",{children:["Showing ",(0,t.jsx)("span",{className:"font-medium text-slate-800",children:(u-1)*h+1})," to"," ",(0,t.jsx)("span",{className:"font-medium text-slate-800",children:Math.min(u*h,a.length)})," ","of ",(0,t.jsx)("span",{className:"font-medium text-slate-800",children:a.length})," records"]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{onClick:()=>b(e=>Math.max(1,e-1)),disabled:1===u,className:"p-1 rounded border border-slate-200 bg-white text-slate-600 disabled:opacity-40 disabled:cursor-not-allowed hover:bg-slate-50 transition-colors",children:(0,t.jsx)(r,{size:14})}),(0,t.jsxs)("span",{className:"px-2 font-mono text-[11px]",children:[u," / ",g]}),(0,t.jsx)("button",{onClick:()=>b(e=>Math.min(g,e+1)),disabled:u===g,className:"p-1 rounded border border-slate-200 bg-white text-slate-600 disabled:opacity-40 disabled:cursor-not-allowed hover:bg-slate-50 transition-colors",children:(0,t.jsx)(n.ChevronRight,{size:14})})]})]})]})}],49744)},3469,e=>{"use strict";var t=e.i(43476),s=e.i(63676);e.s(["DetailDrawer",0,function({isOpen:e,onClose:a,title:l,subtitle:r,badge:n,children:d,footer:i,width:o="w-full md:w-[480px]"}){return e?(0,t.jsxs)("div",{className:"fixed inset-y-0 right-0 z-50 flex",children:[(0,t.jsx)("div",{className:"fixed inset-0 bg-slate-900/20 backdrop-blur-[1px] transition-opacity",onClick:a}),(0,t.jsxs)("div",{className:`relative ${o} bg-white shadow-2xl border-l border-slate-200 flex flex-col h-full z-10 transition-transform`,children:[(0,t.jsxs)("div",{className:"px-5 py-4 border-b border-slate-200 flex items-start justify-between gap-3 bg-slate-50/50",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h2",{className:"text-base font-semibold text-slate-900 truncate",children:l}),n]}),r&&(0,t.jsx)("p",{className:"text-xs text-slate-500 font-mono mt-0.5 truncate",children:r})]}),(0,t.jsx)("button",{onClick:a,className:"p-1 rounded-md text-slate-400 hover:text-slate-700 hover:bg-slate-100 transition-colors",children:(0,t.jsx)(s.X,{size:18})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-5 space-y-5 text-sm text-slate-700",children:d}),i&&(0,t.jsx)("div",{className:"px-5 py-3 border-t border-slate-200 bg-slate-50 flex items-center justify-end gap-2",children:i})]})]}):null}])},32471,e=>{"use strict";var t=e.i(43476),s=e.i(66595),a=e.i(95925);e.s(["FilterBar",0,function({searchQuery:e,onSearchChange:l,searchPlaceholder:r="Search records…",dropdowns:n,filters:d,onReset:i,activeCount:o,totalCount:c,actions:x}){let m=d||n;return(0,t.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg p-3 mb-4 shadow-sm flex flex-col md:flex-row md:items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2.5 flex-1",children:[l&&(0,t.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-sm",children:[(0,t.jsx)(s.Search,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-slate-400"}),(0,t.jsx)("input",{type:"text",value:e??"",onChange:e=>l(e.target.value),placeholder:r,className:"w-full pl-8 pr-3 py-1.5 text-xs bg-slate-50 border border-slate-200 rounded-md text-slate-800 placeholder:text-slate-400 focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all"})]}),m&&m.map(e=>(0,t.jsx)("div",{className:"flex items-center gap-1.5",children:(0,t.jsx)("select",{value:e.value,onChange:t=>e.onChange(t.target.value),className:"text-xs bg-slate-50 border border-slate-200 rounded-md px-2.5 py-1.5 text-slate-700 font-medium focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all cursor-pointer",children:e.options.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})},e.key||e.name||e.label)),i&&(0,t.jsxs)("button",{onClick:i,className:"flex items-center gap-1 text-xs text-slate-500 hover:text-slate-800 px-2 py-1.5 rounded hover:bg-slate-100 transition-colors",title:"Reset Filters",children:[(0,t.jsx)(a.RotateCcw,{size:12}),(0,t.jsx)("span",{children:"Reset"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 self-end md:self-auto text-xs text-slate-500",children:[void 0!==c&&(0,t.jsx)("span",{className:"font-mono text-slate-600",children:void 0!==o&&o!==c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("strong",{className:"text-slate-900",children:o})," of ",c]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("strong",{className:"text-slate-900",children:c})," total"]})}),x]})]})}])},37757,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(22016),l=e.i(67927);e.s(["PageHeader",0,function({title:e,description:r,subtitle:n,breadcrumbs:d,actions:i,badge:o}){let c=r||n;return(0,t.jsxs)("div",{className:"mb-6 pb-4 border-b border-slate-200",children:[d&&d.length>0&&(0,t.jsx)("nav",{className:"flex items-center gap-1.5 text-xs text-slate-500 mb-2",children:d.map((e,r)=>{let n=r===d.length-1;return(0,t.jsxs)(s.default.Fragment,{children:[r>0&&(0,t.jsx)(l.ChevronRight,{size:12,className:"text-slate-400"}),e.href&&!n?(0,t.jsx)(a.default,{href:e.href,className:"hover:text-slate-800 transition-colors",children:e.label}):(0,t.jsx)("span",{className:n?"text-slate-900 font-medium":"",children:e.label})]},r)})}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold text-slate-900 tracking-tight",children:e}),o&&(0,t.jsx)("div",{children:o})]}),c&&(0,t.jsx)("p",{className:"mt-1 text-xs text-slate-500 max-w-3xl leading-relaxed",children:c})]}),i&&(0,t.jsx)("div",{className:"flex items-center gap-2 flex-shrink-0",children:i})]})]})}])}]);
|