@neoatalaya/contracts-incidents
v1.0.0
Published
Incident domain types for Neo Atalaya
Readme
@neoatalaya/contracts-incidents / neoatalaya_contracts_incidents
Incident domain types for the Neo Atalaya ecosystem – available for TypeScript and Python.
📦 What's inside?
This package provides the incident report structures used across Neo Atalaya services:
| Type | Description |
|------|-------------|
| IncidentEvent | Full incident report (extends GeoPoint, includes optional report metadata) |
| ReportRequest | User‑submitted incident payload (before anonymization) |
These types are the foundation for incident reporting, analysis, and integration with other domains (patrol, alerts, etc.).
📥 Installation
TypeScript (npm)
npm install @neoatalaya/contracts-incidentsPython (PyPI)
uv add neoatalaya_contracts_incidents
# or
pip install neoatalaya_contracts_incidentsNo runtime dependencies – pure TypeScript types and lightweight validation helpers.
🚀 Usage
TypeScript
import { IncidentEvent, ReportRequest } from '@neoatalaya/contracts-incidents';
const report: ReportRequest = {
user_id: 'user123',
lat: 10.391,
lng: -75.483,
incident_type: 'robo',
description: 'Suspicious activity',
timestamp: '2026-05-10T14:30:00Z',
};
const incident: IncidentEvent = {
id: '550e8400-e29b-41d4-a716-446655440000',
user_id: 'anonimized-id',
lat: 10.391,
lng: -75.483,
incident_type: 'robo',
timestamp: '2026-05-10T14:30:00Z',
description_sanitized: '[REDACTED]',
};Python
from neoatalaya_contracts_incidents import IncidentEvent, ReportRequest
from datetime import datetime
from uuid import uuid4
report = ReportRequest(
user_id="user123",
lat=10.391,
lng=-75.483,
incident_type="robo",
description="Suspicious activity",
timestamp="2026-05-10T14:30:00Z",
)
incident = IncidentEvent(
id=uuid4(),
user_id=None, # will be anonimized
lat=10.391,
lng=-75.483,
incident_type="robo",
timestamp="2026-05-10T14:30:00Z",
description_sanitized=None,
)Both IncidentEvent and ReportRequest inherit from GeoPoint, so they include lat and lng fields automatically.
🔧 Publishing & Maintenance
This package is generated automatically from JSON Schema sources in the contract-packages-transpiler repository. Do not edit the code directly – update the schemas in packages/contracts/common/schema/ and run the transpilation pipeline.
Source repository: https://www.github.com/neoatalaya/contract-packages-transpiler
Issues: Report problems with the generated types in the source repository.
📄 License
This project is licensed under the Eclipse Public License 2.0 (EPL-2.0).
You may obtain a copy of the License at
https://www.eclipse.org/legal/epl-2.0/
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Made with ❤️ by NeoAtalaya
