File size: 1,559 Bytes
a5c3ce8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a71264b
 
 
 
 
 
 
 
 
 
 
 
a5c3ce8
 
 
 
 
 
 
 
 
 
 
 
 
a71264b
 
 
 
 
 
 
 
 
 
a5c3ce8
 
 
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
"""
osint_core package
==================

Core logic for the Passive OSINT Control Panel.

This package is intentionally structured to separate:
- validation (input trust boundary)
- policy enforcement (allowed behavior)
- enrichment (passive intelligence gathering)
- drift detection (state vs expectation)
- correction (controlled mutation decisions)
- audit (traceability)

Design principles:
- No module should perform implicit state mutation.
- Validation is the first gate; nothing downstream should re-validate.
- Public API is explicitly exported via __all__.
- Internal modules remain decoupled and testable.
"""

from .validators import (
    validate_indicator,
    assert_valid_or_raise,
    ValidationResult,
    ValidationErrorCode,
)

from .orchestrator import (
    create_orchestrator,
    list_skills,
    get_skill,
    OrchestratorAgent,
    EnrichmentWorkflow,
    ExecutionContext,
    Skill,
    Tool,
    SkillResult,
)

# Future modules (to be added as you build them)
# from .policy import enforce_policy
# from .enrichment import run_passive_enrichment
# from .drift import detect_drift
# from .correction import choose_correction
# from .audit import write_audit_event

__all__ = [
    # validation
    "validate_indicator",
    "assert_valid_or_raise",
    "ValidationResult",
    "ValidationErrorCode",
    # orchestrator
    "create_orchestrator",
    "list_skills",
    "get_skill",
    "OrchestratorAgent",
    "EnrichmentWorkflow",
    "ExecutionContext",
    "Skill",
    "Tool",
    "SkillResult",
]

__version__ = "0.1.0"