File size: 3,225 Bytes
b14c6e3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c18a9d1
b14c6e3
 
 
 
 
 
 
c18a9d1
b14c6e3
 
 
9c3fa6e
 
cc4c1cf
9c3fa6e
 
 
 
 
 
 
 
 
 
 
 
b14c6e3
 
 
 
 
 
 
9c3fa6e
 
 
b14c6e3
 
 
 
 
 
3da2c87
 
 
 
 
 
 
 
 
 
b14c6e3
 
3da2c87
02daf9d
 
 
b14c6e3
 
02daf9d
2f25643
 
02daf9d
b14c6e3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c18a9d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "adaptive-alert-triage"
version = "0.1.0"
description = "Adaptive Alert Triage & Incident Response OpenEnv Environment"
readme = "README.md"
requires-python = ">=3.9"
license = {text = "MIT"}
authors = [
    {name = "Scalar Hackathon Team", email = "team@scalar.com"}
]
keywords = ["reinforcement-learning", "openenv", "alert-triage", "incident-response"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
]

dependencies = [
    "pydantic>=2.0.0",
    "openenv[cli]>=0.1.0",
    "numpy>=1.24.0",
    "openai>=1.0.0",
    "pyyaml>=6.0",
    "uvicorn[standard]>=0.24.0",
    "fastapi>=0.104.0",
    "websockets>=12.0",
    "requests>=2.31.0",
    "openenv-core[cli]>=0.1.0",
]

[project.optional-dependencies]
train = [
    "stable-baselines3>=2.0.0",
    "huggingface_hub>=0.24.0",
]
viz = [
    "matplotlib>=3.7.0",
    "pandas>=2.0.0",
    "seaborn>=0.12.0",
]
gemini = [
    "google-genai>=0.8.0",
]
cli = [
    "typer>=0.9.0",
]
dev = [
    "pytest>=7.4.0",
    "pytest-cov>=4.1.0",
    "black>=23.0.0",
    "ruff>=0.0.280",
    "mypy>=1.4.0",
]
all = [
    "adaptive-alert-triage[train,viz,gemini,cli,dev]",
]

[project.urls]
Homepage = "https://github.com/scalar/adaptive-alert-triage"
Documentation = "https://github.com/scalar/adaptive-alert-triage#readme"
Repository = "https://github.com/scalar/adaptive-alert-triage"

# ── CLI entry points ──────────────────────────────────────────────────────────
# FIX 9: Register `openenv` as a CLI command so the pre-submission validator
# can call `openenv validate` and have it resolve to our validate.py::main().
#
# The pre-submission checker runs:
#   openenv validate
# which now maps to:
#   src/adaptive_alert_triage/validate.py β†’ OpenEnvValidator().run_all_checks()
#
# Also keeps the original `alert-triage` entry point for backwards compat.
[project.scripts]
alert-triage = "adaptive_alert_triage.env:main"
openenv      = "adaptive_alert_triage.validate:main"
server        = "server.app:main"



[tool.setuptools.packages.find]
where = ["src", "."]
include = ["adaptive_alert_triage*", "server*", "openenv_shim*"]



[tool.black]
line-length = 100
target-version = ["py39", "py310", "py311"]

[tool.ruff]
line-length = 100
target-version = "py39"

[tool.mypy]
python_version = "3.9"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "-v --cov=src/adaptive_alert_triage --cov-report=term-missing"

[dependency-groups]
dev = [
    "pytest>=8.4.2",
    "pytest-cov>=7.1.0",
]